]>
git.proxmox.com Git - rustc.git/blob - src/vendor/idna/tests/unit.rs
2 extern crate unicode_normalization
;
5 use unicode_normalization
::char::is_combining_mark
;
8 fn _to_ascii(domain
: &str) -> Result
<String
, uts46
::Errors
> {
9 uts46
::to_ascii(domain
, uts46
::Flags
{
10 transitional_processing
: false,
11 use_std3_ascii_rules
: true,
12 verify_dns_length
: true,
19 assert
!(is_combining_mark('
\u{11C3A}'
));
20 assert
!(_to_ascii("\u{11C3A}").is_err());
21 assert
!(_to_ascii("\u{850f}.\u{11C3A}").is_err());
22 assert
!(_to_ascii("\u{850f}\u{ff61}\u{11C3A}").is_err());
26 fn test_v8_bidi_rules() {
27 assert_eq
!(_to_ascii("abc").unwrap(), "abc");
28 assert_eq
!(_to_ascii("123").unwrap(), "123");
29 assert_eq
!(_to_ascii("אבּג").unwrap(), "xn--kdb3bdf");
30 assert_eq
!(_to_ascii("ابج").unwrap(), "xn--mgbcm");
31 assert_eq
!(_to_ascii("abc.ابج").unwrap(), "abc.xn--mgbcm");
32 assert_eq
!(_to_ascii("אבּג.ابج").unwrap(), "xn--kdb3bdf.xn--mgbcm");
34 // Bidi domain names cannot start with digits
35 assert
!(_to_ascii("0a.\u{05D0}").is_err());
36 assert
!(_to_ascii("0à.\u{05D0}").is_err());
38 // Bidi chars may be punycode-encoded
39 assert
!(_to_ascii("xn--0ca24w").is_err());