Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align with latest of web-platform-tests #290

Closed
annevk opened this issue Mar 10, 2017 · 5 comments
Closed

Align with latest of web-platform-tests #290

annevk opened this issue Mar 10, 2017 · 5 comments
Assignees

Comments

@annevk
Copy link

annevk commented Mar 10, 2017

Please correct me if I'm wrong, but we've made numerous changes to the URL Standard lately and also added tons of new tests (both for the API setters and the URL parser), and I've the impression that these changes haven't made their way to rust-url yet.

It might be good to investigate that, especially with rust-url getting more usage in Firefox over time.

@SimonSapin
Copy link
Member

You’re not wrong. I’ve had the same worry and filed #163… more than a year ago.

@annevk
Copy link
Author

annevk commented Mar 10, 2017

Ah okay, I guess you can close this as a duplicate then. https://github.com/jsdom/whatwg-url indicates which commit they are aligned with and which version of the test suite they are aligned with.

@nox
Copy link
Contributor

nox commented Jul 18, 2019

So I locally updated the tests and…:

running 713 tests
............thread '"#x" @ base "sc://ñ"' panicked at '
"sc://%C3%B1/#x"
!= expected.href
"sc://%C3%B1#x"
for URL "sc://%C3%B1/#x"
', tests/data.rs:69:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
.........F...........thread '"/..//localhost//pig" @ base "file://lion/"' panicked at '
"file:////localhost//pig"
!= expected.href
"file://lion/localhost//pig"
for URL "file:////localhost//pig"
', tests/data.rs:69:5
...thread '"////" @ base "sc://x/"' panicked at '
"sc:///"
!= expected.href
"sc:////"
for URL "sc:///"
', tests/data.rs:69:5
thread '"/////mouse" @ base "file:///elephant"' panicked at '
"file://///mouse"
!= expected.href
"file:///mouse"
for URL "file://///mouse"
', tests/data.rs:69:5
..thread '"////x/" @ base "sc://x/"' panicked at '
"sc://x/"
!= expected.href
"sc:////x/"
for URL "sc://x/"
', tests/data.rs:69:5.
..F...Fthread '"//localhost//pig" @ base "file://lion/"' panicked at '
"file:////pig"
!= expected.href
"file:///pig"
for URL "file:////pig"
', tests/data.rs:69:5
FF.thread '"/?chai" @ base "file://tea/"' panicked at '
"file:///?chai"
!= expected.href
"file://tea/?chai"
for URL "file:///?chai"
', tests/data.rs:69:5
...F..thread '"/c:/foo/bar" @ base "file:///c:/baz/qux"' panicked at '
"file:///c:/c:/foo/bar"
!= expected.href
"file:///c:/foo/bar"
for URL "file:///c:/c:/foo/bar"
', tests/data.rs:69:5
.Fthread '"/c|/foo/bar" @ base "file:///c:/baz/qux"' panicked at '
"file:///c:/c|/foo/bar"
!= expected.href
"file:///c:/foo/bar"
for URL "file:///c:/c|/foo/bar"
', tests/data.rs:69:5
....F.thread '"/rooibos" @ base "file://tea/"' panicked at '
"file:///rooibos"
!= expected.href
"file://tea/rooibos"
for URL "file:///rooibos"
.', tests/data.rs:69:5
.F......F.............thread '"?x" @ base "sc://ñ"' panicked at '
"sc://%C3%B1/?x"
!= expected.href
"sc://%C3%B1?x"
for URL "sc://%C3%B1/?x"
', tests/data.rs:69:5
...thread '"C|" @ base "file://host/dir/file"' panicked at '
"file://host/dir/C|"
!= expected.href
"file:///C:"
for URL "file://host/dir/C|"
', tests/data.rs:69:5
......F..Fthread '"\\/localhost//pig" @ base "file://lion/"' panicked at '
"file:////pig"
!= expected.href
"file:///pig"
for URL "file:////pig"
', tests/data.rs:69:5
.....thread '"a:/".hash = "\u{0}\u{1}\t\n\r\u{1f} !\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~\u{7f}\u{80}\u{81}Éé" Simple percent-encoding; nuls, tabs, and newlines are removed.' panicked at 'assertion failed: `(left == right)`
  left: `"a:/#!\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~%7F%C2%80%C2%81%C3%89%C3%A9"`,
 right: `"a:/#%01%1F%20!%22#$%&\'()*+,-./09:;%3C=%3E?@AZ[\\]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9"`', tests/data.rs:194:5
.thread '"a:/".pathname = "\u{0}\u{1}\t\n\r\u{1f} !\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~\u{7f}\u{80}\u{81}Éé" UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.' panicked at 'assertion failed: `(left == right)`
  left: `"a:/!%22%23$%&\'()*+,-./09:;%3C=%3E%3F@AZ[\\]^_%60az%7B|%7D~%7F%C2%80%C2%81%C3%89%C3%A9"`,
 right: `"a:/%00%01%1F%20!%22%23$%&\'()*+,-./09:;%3C=%3E%3F@AZ[\\]^_%60az%7B|%7D~%7F%C2%80%C2%81%C3%89%C3%A9"`', tests/data.rs:192:5
.thread '"a:/".search = "\u{0}\u{1}\t\n\r\u{1f} !\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~\u{7f}\u{80}\u{81}Éé" UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.' panicked at 'assertion failed: `(left == right)`
  left: `"a:/?!%22%23$%&\'()*+,-./09:;%3C=%3E?@AZ[\\]^_`az{|}~%7F%C2%80%C2%81%C3%89%C3%A9"`,
 right: `"a:/?%00%01%1F%20!%22%23$%&\'()*+,-./09:;%3C=%3E?@AZ[\\]^_`az{|}~%7F%C2%80%C2%81%C3%89%C3%A9"`', tests/data.rs:193:5
Fthread '"a://example.net".protocol = "" The empty string is not a valid scheme. Setter leaves the URL unchanged.' panicked at 'assertion failed: `(left == right)`
  left: `"a://example.net/"`,
 right: `"a://example.net"`', tests/data.rs:186:5
.thread '"a://example.net".protocol = "+b" No leading punctuation' panicked at 'assertion failed: `(left == right)`
  left: `"a://example.net/"`,
 right: `"a://example.net"`', tests/data.rs:186:5
.thread '"a://example.net".protocol = "0b" No leading digit' panicked at 'assertion failed: `(left == right)`
  left: `"a://example.net/"`,
 right: `"a://example.net"`', tests/data.rs:186:5
.thread '"a://example.net".protocol = "B" Upper-case ASCII is lower-cased' panicked at 'assertion failed: `(left == right)`
  left: `"b://example.net/"`,
 right: `"b://example.net"`', tests/data.rs:186:5
.thread '"a://example.net".protocol = "b" ' panicked at 'assertion failed: `(left == right)`
  left: `"b://example.net/"`,
 right: `"b://example.net"`', tests/data.rs:186:5
.thread '"a://example.net".protocol = "b,c" Only some punctuation is acceptable.' panicked at 'assertion failed: `(left == right)`
  left: `"a://example.net/"`,
 right: `"a://example.net"`', tests/data.rs:186:5
thread '"a://example.net".protocol = "bC0+-." ' panicked at 'assertion failed: `(left == right)`
  left: `"bc0+-.://example.net/"`,
 right: `"bc0+-.://example.net"`', tests/data.rs:186:5
FFthread '"a://example.net".protocol = "bé" Non-ASCII is rejected' panicked at 'assertion failed: `(left == right)`
  left: `"a://example.net/"`,
 right: `"a://example.net"`', tests/data.rs:186:5
Fthread '"a://example.net".protocol = "é" Non-ASCII is rejected' panicked at 'assertion failed: `(left == right)`
  left: `"a://example.net/"`,
 right: `"a://example.net"`', tests/data.rs:186:5
FFFFFFFFF...thread '"data:test# »" @ base "about:blank"' panicked at '
"data:test# %C2%BB"
!= expected.href
"data:test#%20%C2%BB"
for URL "data:test# %C2%BB"
', tests/data.rs:69:5
.........F...........thread '"file:///unicorn".pathname = "//\\/" File URLs and (back)slashes' panicked at 'assertion failed: `(left == right)`
  left: `"file://////"`,
 right: `"file:///"`', tests/data.rs:192:5
..thread '"file:///unicorn".pathname = "//monkey/..//" File URLs and (back)slashes' panicked at 'assertion failed: `(left == right)`
  left: `"file://///"`,
 right: `"file:///"`', tests/data.rs:192:5
.....thread '"file://\\/localhost//cat" @ base "about:blank"' panicked at '
"file:////localhost//cat"
!= expected.href
"file:///localhost//cat"
for URL "file:////localhost//cat"
', tests/data.rs:69:5
...FF.thread '"file://hi/path".protocol = "s" ' panicked at 'assertion failed: `(left == right)`
  left: `"s://hi/path"`,
 right: `"file://hi/path"`', tests/data.rs:.186:5
thread '"file://hi/x".host = "" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://hi/x"`,
 right: `"file:///x"`', tests/data.rs:190.:5
.thread '"file://hi/x".hostname = "" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://hi/x"`,
 right: `"file:///x"`', tests/data.rs:189:5
F...thread '"file://localhost//a//../..//" @ base "about:blank"' panicked at '
"file://///"
!= expected.href
"file:///"
for URL "file://///"
', tests/data.rs:69:5
.FFthread '"file://monkey/".pathname = "\\\\" File URLs and (back)slashes' panicked at 'assertion failed: `(left == right)`
  left: `"file://monkey//"`,
 right: `"file://monkey/"`', tests/data.rs:192:5
F.thread '"file://spider///" @ base "about:blank"' panicked at '
"file://spider///"
!= expected.href
"file://spider/"
for URL "file://spider///"
', tests/data.rs:69:5
...thread '"file://y/".host = "loc%41lhost" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://localhost/"`,
 right: `"file:///"`', tests/data.rs:190:5
Fthread '"file://y/".host = "x:123" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://x:123/"`,
 right: `"file://y/"`', tests/data.rs:190:5
.Fthread '"file://y/".hostname = "loc%41lhost" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://localhost/"`,
 right: `"file:///"`.', tests/data.rs:189:5
thread '"file://y/".hostname = "x:123" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://x/"`,
 right: `"file://y/"`', tests/data.rs:189:5
F...thread '"file:\\\\//" @ base "about:blank"' panicked at '
"file:////"
!= expected.href
"file:///"
for URL "file:////"
', tests/data.rs:69:5
Fthread '"file:\\\\\\\\" @ base "about:blank"' panicked at '
"file:////"
!= expected.href
"file:///"
for URL "file:////"
', tests/data.rs:69:5
Fthread '"file:\\\\\\\\#guppy" @ base "about:blank"' panicked at '
"file:////#guppy"
!= expected.href
"file:///#guppy"
for URL "file:////#guppy"
', tests/data.rs:69:5
.thread '"file:\\\\\\\\?fox" @ base "about:blank"' panicked at '
"file:////?fox"
!= expected.href
"file:///?fox"
for URL "file:////?fox"
', tests/data.rs:69:5
Fthread 'thread '"file:\\c:\\foo\\bar" @ base "file:///c:/baz/qux""file:\\\\localhost//" @ base "about:blank"' panicked at '' panicked at '
"file:///c:/c:/foo/bar"
!= expected.href
"file:///c:/foo/bar"
for URL "file:///c:/c:/foo/bar"

"file:////"
!= expected.href
"file:///"
for URL "file:////"
', ', tests/data.rstests/data.rs::6969::55

.F...FFthread '"foo://" @ base "http://example.org/foo/bar"' panicked at '
"foo:///"
!= expected.href
"foo://"
for URL "foo:///"
', tests/data.rs:69:5
FFFF....F..thread '"ftp://example.net".protocol = "test" ' panicked at 'assertion failed: `(left == right)`
  left: `"test://example.net/"`,
 right: `"ftp://example.net/"`', tests/data.rs:186:5
.......F...thread '"gopher://example.net:1234".protocol = "file" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://example.net:1234/"`,
 right: `"gopher://example.net:1234/"`', tests/data.rs:186:5
........F...................................................................................................................thread '"http://example.net".hash = "#foo bar" ' panicked at 'assertion failed: `(left == right)`
  left: `"http://example.net/#foo bar"`,
 right: `"http://example.net/#foo%20bar"`', tests/data.rs:194:5
.thread '"http://example.net".hash = "#foo<bar" ' panicked at 'assertion failed: `(left == right)`
  left: `"http://example.net/#foo<bar"`,
 right: `"http://example.net/#foo%3Cbar"`', tests/data.rs:194:5
.thread '"http://example.net".hash = "#foo>bar" ' panicked at 'assertion failed: `(left == right)`
  left: `"http://example.net/#foo>bar"`,
 right: `"http://example.net/#foo%3Ebar"`', tests/data.rs:194:5
.thread '"http://example.net".hash = "#foo\"bar" ' panicked at 'assertion failed: `(left == right)`
  left: `"http://example.net/#foo\"bar"`,
 right: `"http://example.net/#foo%22bar"`', tests/data.rs:194:5
.thread '"http://example.net".hash = "#foo`bar" ' panicked at 'assertion failed: `(left == right)`
  left: `"http://example.net/#foo`bar"`,
 right: `"http://example.net/#foo%60bar"`', tests/data.rs:194:5
..FFFFF.........thread '"http://example.net".protocol = "b" Can’t switch from special scheme to non-special' panicked at 'assertion failed: `(left == right)`
  left: `"b://example.net/"`,
 right: `"http://example.net/"`', tests/data.rs:186:5
.....F.....................................thread '"http://example.net:8080".host = "example.com:" Port number is unchanged if not specified' panicked at 'assertion failed: `(left == right)`
  left: `"http://example.com/"`,
 right: `"http://example.com:8080/"`', tests/data.rs:190.:5
...F....................thread '"http://f:21/ b ? d # e " @ base "http://example.org/foo/bar"' panicked at '
"http://f:21/%20b%20?%20d%20# e"
!= expected.href
"http://f:21/%20b%20?%20d%20#%20e"
for URL "http://f:21/%20b%20?%20d%20# e"
', tests/data.rs:69:5
.......Fthread '"http://foo.bar/baz?qux#foo<bar" @ base "about:blank"' panicked at '
"http://foo.bar/baz?qux#foo<bar"
!= expected.href
"http://foo.bar/baz?qux#foo%3Cbar"
for URL "http://foo.bar/baz?qux#foo<bar"
', tests/data.rs:69:5
thread '."http://foo.bar/baz?qux#foo>bar" @ base "about:blank"' panicked at '
"http://foo.bar/baz?qux#foo>bar"
!= expected.href
"http://foo.bar/baz?qux#foo%3Ebar"
for URL "http://foo.bar/baz?qux#foo>bar"
', tests/data.rs:69:5
.thread '"http://foo.bar/baz?qux#foo\"bar" @ base "about:blank"' panicked at '
"http://foo.bar/baz?qux#foo\"bar"
!= expected.href
"http://foo.bar/baz?qux#foo%22bar"
for URL "http://foo.bar/baz?qux#foo\"bar"
', tests/data.rs:69:5
..thread '"http://foo.bar/baz?qux#foo`bar" @ base "about:blank"' panicked at '
"http://foo.bar/baz?qux#foo`bar"
!= expected.href
"http://foo.bar/baz?qux#foo%60bar"
for URL "http://foo.bar/baz?qux#foo`bar"
', tests/data.rs:69:5
..thread '"http://foo.com:443/".protocol = "https" Port is set to null if it is the default for new scheme.' panicked at 'assertion failed: `(left == right)`
  left: `"https://foo.com:443/"`,
 right: `"https://foo.com/"`', tests/data.rs:186:5
FFF.FF.........thread '"http://test@example.net".protocol = "file" Can’t switch from URL containing username/password/port to file' panicked at 'assertion failed: `(left == right)`
  left: `"file://test@example.net/"`,
 right: `"http://test@example.net/"`', tests/data.rs:186:5
........F.thread '"http://www.google.com/foo?bar=baz# »" @ base "about:blank"' panicked at '
"http://www.google.com/foo?bar=baz# %C2%BB"
!= expected.href
"http://www.google.com/foo?bar=baz#%20%C2%BB"
for URL "http://www.google.com/foo?bar=baz# %C2%BB"
', tests/data.rs:69:5
......F................................................thread '"https://example.net".protocol = "s" ' panicked at 'assertion failed: `(left == right)`
  left: `"s://example.net/"`,
 right: `"https://example.net/"`', tests/data.rs:186:5
...F...................................thread '"javascript:alert(1)".hash = "castle" ' panicked at 'assertion failed: `(left == right)`
  left: `"javascript:alert(1)"`,
 right: `"javascript:alert(1)#castle"`', tests/data.rs:194:5
.......thread '"lolscheme:x x#x x" @ base "about:blank"' panicked at '
"lolscheme:x x#x x"
!= expected.href
"lolscheme:x x#x%20x"
for URL "lolscheme:x x#x x"
', tests/data.rs.:69:5
.F......F.................thread '"nonsense:///test".protocol = "https" ' panicked at 'assertion failed: `(left == right)`
  left: `"https:///test"`,
 right: `"nonsense:///test"`', tests/data.rs:186:5
.......thread '"sc://#" @ base "about:blank"' panicked at '
"sc:///#"
!= expected.href
"sc://#"
for URL "sc:///#"
', tests/data.rs:69:5
..F.thread '"sc://:/" @ base "about:blank"' panicked at 'Expected a parse error for URL "sc://:/"', tests/data.rs:39:29
.thread '"sc://:12/" @ base "about:blank"' panicked at 'Expected a parse error for URL "sc://:12/"', tests/data.rs:39:29
.thread '"sc://?" @ base "about:blank"' panicked at '
"sc:///?"
!= expected.href
"sc://?"
for URL "sc:///?"
', tests/data.rs:69:5
.thread '"sc://@/" @ base "about:blank"' panicked at 'Expected a parse error for URL "sc://@/"', tests/data.rs:39:29
..F....FFthread '"sc://te@s:t@/" @ base "about:blank"' panicked at 'Expected a parse error for URL "sc://te@s:t@/"', tests/data.rs:39:29
FFthread '"sc://test:12/".host = "" ' panicked at 'assertion failed: `(left == right)`
  left: `"sc://:12/"`,
 right: `"sc://test:12/"`', tests/data.rs:190:5
thread '"sc://test:12/".hostname = "" ' panicked at 'assertion failed: `(left == right)`
  left: `"sc://:12/"`,
 right: `"sc://test:12/"`', tests/data.rs:189:5
.thread '"sc://test@test/".host = "" ' panicked at '.assertion failed: `(left == right)`
  left: `"sc://test@/"`,
 right: `"sc://test@test/"`', tests/data.rs:190:5
.thread '"sc://test@test/".hostname = "" ' panicked at 'assertion failed: `(left == right)`
  left: `"sc://test@/"`,
 right: `"sc://test@test/"`', tests/data.rs:189:5
.thread '"sc://x/".host = " " ' panicked at 'assertion failed: `(left == right)`
  left: `"sc:///"`,
 right: `"sc://x/"`', tests/data.rs:190:5
....FFFFthread '"sc://x/".host = "\u{0}" Non-special scheme' panicked at 'assertion failed: `(left == right)`
  left: `"sc:///"`,
 right: `"sc://x/"`', tests/data.rs:190:5
Fthread '"sc://x/".hostname = " " ' panicked at 'assertion failed: `(left == right)`
  left: `"sc:///"`,
 right: `"sc://x/"`', Ftests/data.rs:189:5
.......Fthread '"sc://x/".hostname = "\u{0}" Non-special scheme' panicked at 'assertion failed: `(left == right)`
  left: `"sc:///"`,
 right: `"sc://x/"`', tests/data.rs:189:5
.Fthread '"sc://ñ" @ base "about:blank"' panicked at '
"sc://%C3%B1/"
!= expected.href
"sc://%C3%B1"
for URL "sc://%C3%B1/"
', tests/data.rs:69:5
.thread '"sc://ñ#x" @ base "about:blank"' panicked at '
"sc://%C3%B1/#x"
!= expected.href
"sc://%C3%B1#x"
for URL "sc://%C3%B1/#x"
', tests/data.rs:69:5
..thread '"sc://ñ?x" @ base "about:blank"' panicked at '
"sc://%C3%B1/?x"
!= expected.href
"sc://%C3%B1?x"
for URL "sc://%C3%B1/?x"
', tests/data.rs:69:5
....thread '"ssh://example.net".protocol = "file" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://example.net/"`,
 right: `"ssh://example.net"`', tests/data.rs:186:5
Fthread '"ssh://me@example.net".protocol = "file" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://me@example.net/"`,
 right: `"ssh://me@example.net"`', tests/data.rs:186:5
.thread '"ssh://me@example.net".protocol = "gopher" ' panicked at 'assertion failed: `(left == right)`
  left: `"gopher://me@example.net/"`,
 right: `"ssh://me@example.net"`', tests/data.rs:186:5
Fthread '"ssh://me@example.net".protocol = "http" Can’t switch from non-special scheme to special' panicked at 'assertion failed: `(left == right)`
  left: `"http://me@example.net/"`,
 right: `"ssh://me@example.net"`', tests/data.rs:186:5
F.F..F.FFF.................................thread '"wss://x:x@example.net:1234".protocol = "file" ' panicked at 'assertion failed: `(left == right)`
  left: `"file://x:x@example.net:1234/"`,
 right: `"wss://x:x@example.net:1234/"`', tests/data.rs:186:5
......F......
failures:

failures:
    "#x" @ base "sc://ñ"
    "/..//localhost//pig" @ base "file://lion/"
    "////" @ base "sc://x/"
    "/////mouse" @ base "file:///elephant"
    "////x/" @ base "sc://x/"
    "//localhost//pig" @ base "file://lion/"
    "/?chai" @ base "file://tea/"
    "/c:/foo/bar" @ base "file:///c:/baz/qux"
    "/c|/foo/bar" @ base "file:///c:/baz/qux"
    "/rooibos" @ base "file://tea/"
    "?x" @ base "sc://ñ"
    "C|" @ base "file://host/dir/file"
    "\\/localhost//pig" @ base "file://lion/"
    "a:/".hash = "\u{0}\u{1}\t\n\r\u{1f} !\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~\u{7f}\u{80}\u{81}Éé" Simple percent-encoding; nuls, tabs, and newlines are removed
    "a:/".pathname = "\u{0}\u{1}\t\n\r\u{1f} !\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~\u{7f}\u{80}\u{81}Éé" UTF-8 percent encoding with the default encode set. Tabs and newlines are removed.
    "a:/".search = "\u{0}\u{1}\t\n\r\u{1f} !\"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~\u{7f}\u{80}\u{81}Éé" UTF-8 percent encoding with the query encode set. Tabs and newlines are removed.
    "a://example.net".protocol = "" The empty string is not a valid scheme. Setter leaves the URL unchanged.
    "a://example.net".protocol = "+b" No leading punctuation
    "a://example.net".protocol = "0b" No leading digit
    "a://example.net".protocol = "B" Upper-case ASCII is lower-cased
    "a://example.net".protocol = "b" 
    "a://example.net".protocol = "b,c" Only some punctuation is acceptable
    "a://example.net".protocol = "bC0+-." 
    "a://example.net".protocol = "bé" Non-ASCII is rejected
    "a://example.net".protocol = "é" Non-ASCII is rejected
    "data:test# »" @ base "about:blank"
    "file:///unicorn".pathname = "//\\/" File URLs and (back)slashes
    "file:///unicorn".pathname = "//monkey/..//" File URLs and (back)slashes
    "file://\\/localhost//cat" @ base "about:blank"
    "file://hi/path".protocol = "s" 
    "file://hi/x".host = "" 
    "file://hi/x".hostname = "" 
    "file://localhost//a//../..//" @ base "about:blank"
    "file://monkey/".pathname = "\\\\" File URLs and (back)slashes
    "file://spider///" @ base "about:blank"
    "file://y/".host = "loc%41lhost" 
    "file://y/".host = "x:123" 
    "file://y/".hostname = "loc%41lhost" 
    "file://y/".hostname = "x:123" 
    "file:\\\\//" @ base "about:blank"
    "file:\\\\\\\\" @ base "about:blank"
    "file:\\\\\\\\#guppy" @ base "about:blank"
    "file:\\\\\\\\?fox" @ base "about:blank"
    "file:\\\\localhost//" @ base "about:blank"
    "file:\\c:\\foo\\bar" @ base "file:///c:/baz/qux"
    "foo://" @ base "http://example.org/foo/bar"
    "ftp://example.net".protocol = "test" 
    "gopher://example.net:1234".protocol = "file" 
    "http://example.net".hash = "#foo bar" 
    "http://example.net".hash = "#foo<bar" 
    "http://example.net".hash = "#foo>bar" 
    "http://example.net".hash = "#foo\"bar" 
    "http://example.net".hash = "#foo`bar" 
    "http://example.net".protocol = "b" Can’t switch from special scheme to non-special
    "http://example.net:8080".host = "example.com:" Port number is unchanged if not specified
    "http://f:21/ b ? d # e " @ base "http://example.org/foo/bar"
    "http://foo.bar/baz?qux#foo<bar" @ base "about:blank"
    "http://foo.bar/baz?qux#foo>bar" @ base "about:blank"
    "http://foo.bar/baz?qux#foo\"bar" @ base "about:blank"
    "http://foo.bar/baz?qux#foo`bar" @ base "about:blank"
    "http://foo.com:443/".protocol = "https" Port is set to null if it is the default for new scheme.
    "http://test@example.net".protocol = "file" Can’t switch from URL containing username/password/port to file
    "http://www.google.com/foo?bar=baz# »" @ base "about:blank"
    "https://example.net".protocol = "s" 
    "javascript:alert(1)".hash = "castle" 
    "lolscheme:x x#x x" @ base "about:blank"
    "nonsense:///test".protocol = "https" 
    "sc://#" @ base "about:blank"
    "sc://:/" @ base "about:blank"
    "sc://:12/" @ base "about:blank"
    "sc://?" @ base "about:blank"
    "sc://@/" @ base "about:blank"
    "sc://te@s:t@/" @ base "about:blank"
    "sc://test:12/".host = "" 
    "sc://test:12/".hostname = "" 
    "sc://test@test/".host = "" 
    "sc://test@test/".hostname = "" 
    "sc://x/".host = " " 
    "sc://x/".host = "\u{0}" Non-special scheme
    "sc://x/".hostname = " " 
    "sc://x/".hostname = "\u{0}" Non-special scheme
    "sc://ñ" @ base "about:blank"
    "sc://ñ#x" @ base "about:blank"
    "sc://ñ?x" @ base "about:blank"
    "ssh://example.net".protocol = "file" 
    "ssh://me@example.net".protocol = "file" 
    "ssh://me@example.net".protocol = "gopher" 
    "ssh://me@example.net".protocol = "http" Can’t switch from non-special scheme to special
    "wss://x:x@example.net:1234".protocol = "file" 

test result: FAILED. 624 passed; 89 failed; 0 ignored; 0 measured

@djc
Copy link
Contributor

djc commented Aug 25, 2020

We were up to date with web-platform-tests as of two days ago, and #601 is tracking the changes from web-platform-tests/wpt#25113. I think we're good here.

@djc djc closed this as completed Aug 25, 2020
@annevk
Copy link
Author

annevk commented Aug 25, 2020

Wow, that's great to hear!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants