Skip to main content

use_encoding/
lib.rs

1#![forbid(unsafe_code)]
2#![doc = include_str!("../README.md")]
3
4#[cfg(feature = "ascii")]
5pub use use_ascii as ascii;
6
7#[cfg(feature = "base32")]
8pub use use_base32 as base32;
9
10#[cfg(feature = "base64")]
11pub use use_base64 as base64;
12
13#[cfg(feature = "escape")]
14pub use use_escape as escape;
15
16#[cfg(feature = "hex")]
17pub use use_hex as hex;
18
19#[cfg(feature = "percent")]
20pub use use_percent as percent;
21
22#[cfg(feature = "utf8")]
23pub use use_utf8 as utf8;
24
25#[cfg(test)]
26mod tests {
27    #[cfg(feature = "percent")]
28    use super::percent::percent_encode_component;
29
30    #[cfg(feature = "hex")]
31    use super::hex::{HexCase, normalize_hex};
32
33    #[test]
34    fn compiles_without_features() {}
35
36    #[cfg(feature = "percent")]
37    #[test]
38    fn percent_feature_reexports_helpers() {
39        assert_eq!(percent_encode_component("hello world"), "hello%20world");
40    }
41
42    #[cfg(feature = "hex")]
43    #[test]
44    fn hex_feature_reexports_helpers() {
45        assert_eq!(
46            normalize_hex("#FF00AA", HexCase::Lower),
47            Some("ff00aa".to_string())
48        );
49    }
50}