Skip to content

Commit

Permalink
Merge pull request #819 from servo/wpt
Browse files Browse the repository at this point in the history
Update urltestdata.json WPT test cases
  • Loading branch information
valenting authored Mar 1, 2023
2 parents b65a455 + d000efe commit edeaea7
Show file tree
Hide file tree
Showing 2 changed files with 1,240 additions and 228 deletions.
28 changes: 9 additions & 19 deletions url/tests/data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,42 +15,32 @@ use url::{quirks, Url};

#[test]
fn urltestdata() {
let idna_skip_inputs = [
"http://www.foo。bar.com",
"http://Go.com",
"http://你好你好",
"https://faß.ExAmPlE/",
"http://0Xc0.0250.01",
"ftp://%e2%98%83",
"https://%e2%98%83",
"file://a\u{ad}b/p",
"file://a%C2%ADb/p",
"http://GOO\u{200b}\u{2060}\u{feff}goo.com",
];

// Copied from https://github.com/web-platform-tests/wpt/blob/master/url/
let mut json = Value::from_str(include_str!("urltestdata.json"))
.expect("JSON parse error in urltestdata.json");

let mut passed = true;
let mut skip_next = false;
for entry in json.as_array_mut().unwrap() {
if entry.is_string() {
if entry.as_str().unwrap() == "skip next" {
skip_next = true;
}
continue; // ignore comments
}

if skip_next {
skip_next = false;
continue;
}

let maybe_base = entry
.take_key("base")
.expect("missing base key")
.maybe_string();
let input = entry.take_string("input");
let failure = entry.take_key("failure").is_some();

{
if idna_skip_inputs.contains(&input.as_str()) {
continue;
}
}

let res = if let Some(base) = maybe_base {
let base = match Url::parse(&base) {
Ok(base) => base,
Expand Down
Loading

0 comments on commit edeaea7

Please sign in to comment.