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}