summaryrefslogtreecommitdiffstats
path: root/vendor/url/tests/data.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/url/tests/data.rs')
-rw-r--r--vendor/url/tests/data.rs30
1 files changed, 10 insertions, 20 deletions
diff --git a/vendor/url/tests/data.rs b/vendor/url/tests/data.rs
index f4001ca2b..dc4660b9b 100644
--- a/vendor/url/tests/data.rs
+++ b/vendor/url/tests/data.rs
@@ -15,29 +15,25 @@ 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")
@@ -45,12 +41,6 @@ fn urltestdata() {
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,
@@ -228,7 +218,7 @@ fn get<'a>(url: &'a Url, attr: &str) -> &'a str {
}
#[allow(clippy::unit_arg)]
-fn set<'a>(url: &'a mut Url, attr: &str, new: &str) {
+fn set(url: &mut Url, attr: &str, new: &str) {
let _ = match attr {
"protocol" => quirks::set_protocol(url, new),
"username" => quirks::set_username(url, new),