summaryrefslogtreecommitdiffstats
path: root/internals/src/bind/idna.rs
diff options
context:
space:
mode:
Diffstat (limited to 'internals/src/bind/idna.rs')
-rw-r--r--internals/src/bind/idna.rs44
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
+}