mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Merge net_traits and net_traits_tests
This commit is contained in:
parent
697b9e2b87
commit
ea924e398f
7 changed files with 7 additions and 26 deletions
26
components/net_traits/tests/image.rs
Normal file
26
components/net_traits/tests/image.rs
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
extern crate net_traits;
|
||||
|
||||
use net_traits::image::base::detect_image_format;
|
||||
|
||||
#[test]
|
||||
fn test_supported_images() {
|
||||
let gif1 = [b'G', b'I', b'F', b'8', b'7', b'a'];
|
||||
let gif2 = [b'G', b'I', b'F', b'8', b'9', b'a'];
|
||||
let jpeg = [0xff, 0xd8, 0xff];
|
||||
let png = [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A];
|
||||
let bmp = [0x42, 0x4D];
|
||||
let ico = [0x00, 0x00, 0x01, 0x00];
|
||||
let junk_format = [0x01, 0x02, 0x03, 0x04, 0x05];
|
||||
|
||||
assert!(detect_image_format(&gif1).is_ok());
|
||||
assert!(detect_image_format(&gif2).is_ok());
|
||||
assert!(detect_image_format(&jpeg).is_ok());
|
||||
assert!(detect_image_format(&png).is_ok());
|
||||
assert!(detect_image_format(&bmp).is_ok());
|
||||
assert!(detect_image_format(&ico).is_ok());
|
||||
assert!(detect_image_format(&junk_format).is_err());
|
||||
}
|
121
components/net_traits/tests/pub_domains.rs
Normal file
121
components/net_traits/tests/pub_domains.rs
Normal file
|
@ -0,0 +1,121 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
extern crate net_traits;
|
||||
|
||||
use net_traits::pub_domains::{is_pub_domain, is_reg_domain, pub_suffix, reg_suffix};
|
||||
|
||||
// These tests may need to be updated if the PSL changes.
|
||||
|
||||
#[test]
|
||||
fn test_is_pub_domain_plain() {
|
||||
assert!(is_pub_domain("com"));
|
||||
assert!(is_pub_domain(".org"));
|
||||
assert!(is_pub_domain("za.org"));
|
||||
assert!(is_pub_domain("xn--od0alg.hk"));
|
||||
assert!(is_pub_domain("xn--krdsherad-m8a.no"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_pub_domain_wildcard() {
|
||||
assert!(is_pub_domain("hello.bd"));
|
||||
assert!(is_pub_domain("world.jm"));
|
||||
assert!(is_pub_domain("toto.kobe.jp"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_pub_domain_exception() {
|
||||
assert_eq!(is_pub_domain("www.ck"), false);
|
||||
assert_eq!(is_pub_domain("city.kawasaki.jp"), false);
|
||||
assert_eq!(is_pub_domain("city.nagoya.jp"), false);
|
||||
assert_eq!(is_pub_domain("teledata.mz"), false);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_pub_domain_not() {
|
||||
assert_eq!(is_pub_domain(""), false);
|
||||
assert_eq!(is_pub_domain("."), false);
|
||||
assert_eq!(is_pub_domain("..."), false);
|
||||
assert_eq!(is_pub_domain(".servo.org"), false);
|
||||
assert_eq!(is_pub_domain("www.mozilla.org"), false);
|
||||
assert_eq!(is_pub_domain("publicsuffix.org"), false);
|
||||
assert_eq!(is_pub_domain("hello.world.jm"), false);
|
||||
assert_eq!(is_pub_domain("toto.toto.kobe.jp"), false);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_pub_domain() {
|
||||
assert!(!is_pub_domain("city.yokohama.jp"));
|
||||
assert!(!is_pub_domain("foo.bar.baz.yokohama.jp"));
|
||||
assert!(!is_pub_domain("foo.bar.city.yokohama.jp"));
|
||||
assert!(!is_pub_domain("foo.bar.com"));
|
||||
assert!(!is_pub_domain("foo.bar.tokyo.jp"));
|
||||
assert!(!is_pub_domain("foo.bar.yokohama.jp"));
|
||||
assert!(!is_pub_domain("foo.city.yokohama.jp"));
|
||||
assert!(!is_pub_domain("foo.com"));
|
||||
assert!(!is_pub_domain("foo.tokyo.jp"));
|
||||
assert!(!is_pub_domain("yokohama.jp"));
|
||||
assert!(is_pub_domain("com"));
|
||||
assert!(is_pub_domain("foo.yokohama.jp"));
|
||||
assert!(is_pub_domain("jp"));
|
||||
assert!(is_pub_domain("tokyo.jp"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_reg_domain() {
|
||||
assert!(!is_reg_domain("com"));
|
||||
assert!(!is_reg_domain("foo.bar.baz.yokohama.jp"));
|
||||
assert!(!is_reg_domain("foo.bar.com"));
|
||||
assert!(!is_reg_domain("foo.bar.tokyo.jp"));
|
||||
assert!(!is_reg_domain("foo.city.yokohama.jp"));
|
||||
assert!(!is_reg_domain("foo.yokohama.jp"));
|
||||
assert!(!is_reg_domain("jp"));
|
||||
assert!(!is_reg_domain("tokyo.jp"));
|
||||
assert!(is_reg_domain("city.yokohama.jp"));
|
||||
assert!(is_reg_domain("foo.bar.yokohama.jp"));
|
||||
assert!(is_reg_domain("foo.com"));
|
||||
assert!(is_reg_domain("foo.tokyo.jp"));
|
||||
assert!(is_reg_domain("yokohama.jp"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pub_suffix() {
|
||||
assert_eq!(pub_suffix("city.yokohama.jp"), "yokohama.jp");
|
||||
assert_eq!(pub_suffix("com"), "com");
|
||||
assert_eq!(pub_suffix("foo.bar.baz.yokohama.jp"), "baz.yokohama.jp");
|
||||
assert_eq!(pub_suffix("foo.bar.com"), "com");
|
||||
assert_eq!(pub_suffix("foo.bar.tokyo.jp"), "tokyo.jp");
|
||||
assert_eq!(pub_suffix("foo.bar.yokohama.jp"), "bar.yokohama.jp");
|
||||
assert_eq!(pub_suffix("foo.city.yokohama.jp"), "yokohama.jp");
|
||||
assert_eq!(pub_suffix("foo.com"), "com");
|
||||
assert_eq!(pub_suffix("foo.tokyo.jp"), "tokyo.jp");
|
||||
assert_eq!(pub_suffix("foo.yokohama.jp"), "foo.yokohama.jp");
|
||||
assert_eq!(pub_suffix("jp"), "jp");
|
||||
assert_eq!(pub_suffix("tokyo.jp"), "tokyo.jp");
|
||||
assert_eq!(pub_suffix("yokohama.jp"), "jp");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reg_suffix() {
|
||||
assert_eq!(reg_suffix("city.yokohama.jp"), "city.yokohama.jp");
|
||||
assert_eq!(reg_suffix("com"), "com");
|
||||
assert_eq!(reg_suffix("foo.bar.baz.yokohama.jp"), "bar.baz.yokohama.jp");
|
||||
assert_eq!(reg_suffix("foo.bar.com"), "bar.com");
|
||||
assert_eq!(reg_suffix("foo.bar.tokyo.jp"), "bar.tokyo.jp");
|
||||
assert_eq!(reg_suffix("foo.bar.yokohama.jp"), "foo.bar.yokohama.jp");
|
||||
assert_eq!(reg_suffix("foo.city.yokohama.jp"), "city.yokohama.jp");
|
||||
assert_eq!(reg_suffix("foo.com"), "foo.com");
|
||||
assert_eq!(reg_suffix("foo.tokyo.jp"), "foo.tokyo.jp");
|
||||
assert_eq!(reg_suffix("foo.yokohama.jp"), "foo.yokohama.jp");
|
||||
assert_eq!(reg_suffix("jp"), "jp");
|
||||
assert_eq!(reg_suffix("tokyo.jp"), "tokyo.jp");
|
||||
assert_eq!(reg_suffix("yokohama.jp"), "yokohama.jp");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_weirdness() {
|
||||
// These are weird results, but AFAICT they are spec-compliant.
|
||||
assert!(pub_suffix("city.yokohama.jp") != pub_suffix(pub_suffix("city.yokohama.jp")));
|
||||
assert!(!is_pub_domain(pub_suffix("city.yokohama.jp")));
|
||||
}
|
27
components/net_traits/tests/whitespace.rs
Normal file
27
components/net_traits/tests/whitespace.rs
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
extern crate net_traits;
|
||||
|
||||
#[test]
|
||||
fn test_trim_http_whitespace() {
|
||||
fn test_trim(in_: &[u8], out: &[u8]) {
|
||||
let b = net_traits::trim_http_whitespace(in_);
|
||||
assert_eq!(b, out);
|
||||
}
|
||||
|
||||
test_trim(b"", b"");
|
||||
|
||||
test_trim(b" ", b"");
|
||||
test_trim(b"a", b"a");
|
||||
test_trim(b" a", b"a");
|
||||
test_trim(b"a ", b"a");
|
||||
test_trim(b" a ", b"a");
|
||||
|
||||
test_trim(b"\t", b"");
|
||||
test_trim(b"a", b"a");
|
||||
test_trim(b"\ta", b"a");
|
||||
test_trim(b"a\t", b"a");
|
||||
test_trim(b"\ta\t", b"a");
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue