Sfoglia il codice sorgente

Merge branch 'master' into fix_testdata_runner

# Conflicts:
#	url/src/host.rs
crowlkats 4 anni fa
parent
commit
887d908365
2 ha cambiato i file con 48 aggiunte e 1 eliminazioni
  1. 3 1
      url/src/host.rs
  2. 45 0
      url/tests/urltestdata.json

+ 3 - 1
url/src/host.rs

@@ -103,7 +103,8 @@ impl Host<String> {
                 | '\\'
                 | ']'
                 | '^'
-                | '\u{007F}')
+                | '\u{007F}'
+                | '|')
         };
 
         if domain.find(is_invalid_domain_char).is_some() {
@@ -142,6 +143,7 @@ impl Host<String> {
                     | '\\'
                     | ']'
                     | '^'
+                    | '|'
             )
         };
 

+ 45 - 0
url/tests/urltestdata.json

@@ -4707,6 +4707,11 @@
     "base": "about:blank",
     "failure": true
   },
+  {
+    "input": "sc://a|b/",
+    "base": "about:blank",
+    "failure": true
+  },
   "Forbidden host codepoints: tabs and newlines are removed during preprocessing",
   {
     "input": "foo://ho\u0009st/",
@@ -4931,6 +4936,11 @@
     "base": "about:blank",
     "failure": true
   },
+  {
+    "input": "http://a|b/",
+    "base": "about:blank",
+    "failure": true
+  },
   {
     "input": "http://a\u007Fb/",
     "base": "about:blank",
@@ -5200,6 +5210,11 @@
     "base": "about:blank",
     "failure": true
   },
+  {
+    "input": "http://ho%7Cst/",
+    "base": "about:blank",
+    "failure": true
+  },
   {
     "input": "http://ho%7Fst/",
     "base": "about:blank",
@@ -5777,6 +5792,36 @@
     "base": "about:blank",
     "failure": true
   },
+  {
+    "input": "file://%43%7C",
+    "base": "about:blank",
+    "failure": true
+  },
+  {
+    "input": "file://%43|",
+    "base": "about:blank",
+    "failure": true
+  },
+  {
+    "input": "file://C%7C",
+    "base": "about:blank",
+    "failure": true
+  },
+  {
+    "input": "file://%43%7C/",
+    "base": "about:blank",
+    "failure": true
+  },
+  {
+    "input": "https://%43%7C/",
+    "base": "about:blank",
+    "failure": true
+  },
+  {
+    "input": "asdf://%43|/",
+    "base": "about:blank",
+    "failure": true
+  },
   {
     "input": "asdf://%43%7C/",
     "base": "about:blank",