diff options
Diffstat (limited to 'internals/src/bind/idna.rs')
-rw-r--r-- | internals/src/bind/idna.rs | 44 |
1 files changed, 15 insertions, 29 deletions
diff --git a/internals/src/bind/idna.rs b/internals/src/bind/idna.rs index 7b82d69..be11a71 100644 --- a/internals/src/bind/idna.rs +++ b/internals/src/bind/idna.rs @@ -1,8 +1,7 @@ -use soft_ascii_string::SoftAsciiString; use idna; +use soft_ascii_string::SoftAsciiString; -use ::error::{EncodingError, EncodingErrorKind}; - +use error::{EncodingError, EncodingErrorKind}; /// uses puny code on given domain to return a ascii representation /// @@ -16,58 +15,45 @@ use ::error::{EncodingError, EncodingErrorKind}; /// if you puny code the domain `"this seems\0so;wrong"` it /// will return `Ok("this seems\0so;wrong")` /// -pub fn puny_code_domain<R: AsRef<str>>(domain: R) - -> Result<SoftAsciiString, EncodingError> -{ +pub fn puny_code_domain<R: AsRef<str>>(domain: R) -> Result<SoftAsciiString, EncodingError> { _puny_code_domain(domain.as_ref()) } -fn _puny_code_domain(domain: &str) - -> Result<SoftAsciiString, EncodingError> -{ +fn _puny_code_domain(domain: &str) -> Result<SoftAsciiString, EncodingError> { match idna::domain_to_ascii(domain) { Ok(asciified) => { //SAFE: well we converted it to ascii, so it's ascii Ok(SoftAsciiString::from_unchecked(asciified)) - }, - Err(_non_informative_err) => { - Err(EncodingErrorKind::NotEncodable { encoding: "punycode" }.into()) } + Err(_non_informative_err) => Err(EncodingErrorKind::NotEncodable { + encoding: "punycode", + } + .into()), } } - #[cfg(test)] mod test { - use idna; use super::puny_code_domain; + use idna; #[test] fn idna_does_not_validate() { let domain = "this seems\0so;wrong"; - assert_eq!( - domain.to_owned(), - assert_ok!( idna::domain_to_ascii(domain) ) - ); + assert_eq!(domain.to_owned(), assert_ok!(idna::domain_to_ascii(domain))); } #[test] fn nop_puny_code() { let domain = "is_ascii.notadomain"; - let encoded = assert_ok!( puny_code_domain( domain ) ); - assert_eq!( - &*encoded, - "is_ascii.notadomain" - ); + let encoded = assert_ok!(puny_code_domain(domain)); + assert_eq!(&*encoded, "is_ascii.notadomain"); } #[test] fn puny_code_ascii_mail() { let domain = "nöt_ascii.ü"; - let encoded = assert_ok!( puny_code_domain(domain) ); - assert_eq!( - &*encoded, - "xn--nt_ascii-n4a.xn--tda" - ); + let encoded = assert_ok!(puny_code_domain(domain)); + assert_eq!(&*encoded, "xn--nt_ascii-n4a.xn--tda"); } -}
\ No newline at end of file +} |