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

More tests for file URL Window drive letter quirk #4382

Merged
merged 4 commits into from
Jan 11, 2017

Conversation

zcorpan
Copy link
Member

@zcorpan zcorpan commented Dec 22, 2016

No description provided.

@zcorpan zcorpan requested a review from domenic December 22, 2016 11:41
@wpt-pr-bot
Copy link
Collaborator

@wpt-stability-bot
Copy link

wpt-stability-bot commented Dec 22, 2016

Firefox

Testing revision e389fa7
Starting 10 test iterations
All results were stable

All results

/url/a-element-xhtml.xhtml
Subtest Results
OK
Parsing: <http::@/www.example.com> against <about:blank> FAIL
Parsing: <a:\t foo.com> against <http://example.org/foo/bar> FAIL
Parsing: <#> against <test:test?test> FAIL
Parsing: <ftp:/example.com/> against <about:blank> PASS
Parsing: <http://www/foo%2Ehtml> against <about:blank> PASS
Parsing: < \t> against <http://example.org/foo/bar> PASS
Parsing: <..> against <http://www.example.com/test> PASS
Parsing: <http://foo:-80/> against <about:blank> FAIL
Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar> FAIL
Parsing: <wss://foo:815/> against <about:blank> PASS
Parsing: <file://test> against <file:///tmp/mock/path> FAIL
Parsing: <///> against <file:///tmp/mock/path> PASS
Parsing: <gopher:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://f:999999/c> against <http://example.org/foo/bar> FAIL
Parsing: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing: <http://10000000000.com> against <http://other.com/> PASS
Parsing: <http:/:b@www.example.com> against <about:blank> FAIL
Parsing: <../i> against <sc:sd/sd> FAIL
Parsing: <http://192.168.257> against <http://other.com/> PASS
Parsing: <file://localhost/test> against <file:///tmp/mock/path> PASS
Parsing: <foo:/bar.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://@/www.example.com> against <about:blank> FAIL
Parsing: <madeupscheme:/example.com/> against <about:blank> FAIL
Parsing: <http://example.com////../..> against <about:blank> PASS
Parsing: <http://user@/www.example.com> against <about:blank> FAIL
Parsing: <file://localhost/> against <file:///tmp/mock/path> PASS
Parsing: <../../test.txt> against <http://www.example.com/test> PASS
Parsing: <http://%41.com> against <http://other.com/> FAIL
Parsing: <http://2001::1]> against <http://example.org/foo/bar> FAIL
Parsing: <https://foo:80/> against <about:blank> PASS
Parsing: <http:/@/www.example.com> against <about:blank> FAIL
Parsing: <#x> against <mailto:x@x.com> FAIL
`Parsing: <//C /foo/bar> against file:///tmp/mock/path`
Parsing: <file:///home/me> against <file:///tmp/mock/path> PASS
Parsing: <file:...> against <http://www.example.com/test> PASS
Parsing: <https:example.com/> against <about:blank> PASS
Parsing: <ws:/example.com/> against <about:blank> PASS
Parsing: <http:example.com/> against <about:blank> PASS
Parsing: <http://999999999> against <http://other.com/> PASS
Parsing: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Parsing: <http:\\www.google.com\foo> against <about:blank> PASS
Parsing: <http:a:b@/www.example.com> against <about:blank> FAIL
Parsing: <http://example.com/foo> against <about:blank> PASS
Parsing: <ftp:example.com/> against <about:blank> PASS
Parsing: </i> against <sc://ho/pa> FAIL
Parsing: <#x> against <about:blank> FAIL
Parsing: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Parsing: <http://example.com/foo/.> against <about:blank> PASS
Parsing: < foo.com > against <http://example.org/foo/bar> PASS
Parsing: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <data:/example.com/> against <about:blank> FAIL
Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Parsing: <http://:b@www.example.com> against <about:blank> FAIL
Parsing: <../i> against <sc:sd> FAIL
Parsing: <http://hello%00> against <http://other.com/> FAIL
Parsing: <http:a:@www.example.com> against <about:blank> FAIL
Parsing: <http:/a:b@/www.example.com> against <about:blank> FAIL
`Parsing: <C /foo/bar> against file:///tmp/mock/path`
Parsing: <http://example.com/foo%> against <about:blank> PASS
Parsing: <ftps:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/%2e%2> against <about:blank> PASS
Parsing: <::> against <http://example.org/foo/bar> PASS
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Parsing: <i> against <sc:///pa/pa> FAIL
Parsing: <http://example.com/foo%41%7a> against <about:blank> PASS
Parsing: <> against <http://user:pass@example.org:21/smth> PASS
Parsing: </> against <http://www.example.com/test> PASS
Parsing: <gopher:example.com/> against <about:blank> FAIL
Parsing: <http://example.com/foo%2zbar> against <about:blank> PASS
Parsing: <#i> against <sc:/pa/pa> FAIL
Parsing: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Parsing: <http://example.com/foo/./> against <about:blank> PASS
Parsing: <../test.txt> against <http://www.example.com/test> PASS
Parsing: <wss://foo:80/> against <about:blank> PASS
Parsing: <gopher://foo:70/> against <about:blank> FAIL
Parsing: <http:@/www.example.com> against <about:blank> FAIL
Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar> FAIL
Parsing: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Parsing: <?> against <http://example.org/foo/bar> PASS
Parsing: <javascript:example.com/> against <about:blank> FAIL
Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Parsing: <wss:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/foo/bar//../..> against <about:blank> PASS
Parsing: <http://example.com/foo\t�%91> against <about:blank> PASS
Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Parsing: <http:/:@/www.example.com> against <about:blank> FAIL
Parsing: <:#> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/@asdf%40> against <about:blank> PASS
Parsing: <http://::@c@d:2> against <http://example.org/foo/bar> FAIL
Parsing: <http://www/foo/%2E/html> against <about:blank> PASS
Parsing: <data:/../> against <about:blank> FAIL
Parsing: <javascript:/example.com/> against <about:blank> FAIL
Parsing: <.> against <http://www.example.com/test> PASS
Parsing: <http:/@www.example.com> against <about:blank> PASS
Parsing: <foo://> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/..bar> against <about:blank> PASS
Parsing: <i> against <sc:/pa/pa> FAIL
Parsing: <http://%00.com> against <http://other.com/> FAIL
Parsing: <wss://foo:443/> against <about:blank> PASS
Parsing: <:> against <http://example.org/foo/bar> PASS
Parsing: <ws://foo:80/> against <about:blank> PASS
Parsing: <http:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <:\> against <http://example.org/foo/bar> PASS
Parsing: <sc://ñ.test/> against <about:blank> FAIL
Parsing: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Parsing: </a/%2f/c> against <http://example.org/foo/bar> PASS
Parsing: <file:a> against <http://www.example.com/test> PASS
Parsing: <mailto:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <#> against <test:test> FAIL
Parsing: <#\> against <http://example.org/foo/bar> PASS
Parsing: <:foo.com\> against <http://example.org/foo/bar> PASS
Parsing: <file:..> against <http://www.example.com/test> FAIL
Parsing: <http://f:0/c> against <http://example.org/foo/bar> PASS
Parsing: <https:example.com/> against <http://example.org/foo/bar> PASS
Parsing: </i> against <sc:sd/sd> FAIL
Parsing: <foo:////://///> against <http://example.org/foo/bar> FAIL
Parsing: <file://localhost> against <file:///tmp/mock/path> PASS
Parsing: <ws://foo:443/> against <about:blank> PASS
Parsing: <中/test.txt> against <http://www.example.com/test> PASS
Parsing: </a/b/c> against <http://example.org/foo/bar> PASS
Parsing: <data:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://@www.example.com> against <about:blank> PASS
Parsing: <madeupscheme:example.com/> against <about:blank> FAIL
Parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <ws://foo:815/> against <about:blank> PASS
Parsing: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <https:/example.com/> against <about:blank> PASS
Parsing: <i> against <sc://ho/pa> FAIL
Parsing: <http://[:]> against <http://other.com/> FAIL
Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Parsing: <https:@/www.example.com> against <about:blank> FAIL
Parsing: <http://example example.com> against <http://other.com/> FAIL
Parsing: <http://f: /c> against <http://example.org/foo/bar> FAIL
Parsing: <http://www.@pple.com> against <about:blank> FAIL
Parsing: <http://256.256.256.256> against <http://other.com/> FAIL
Parsing: <> against <http://example.org/foo/bar> PASS
Parsing: <\\server\file> against <file:///tmp/mock/path> FAIL
Parsing: <http://%25> against <http://other.com/> FAIL
Parsing: <//server/file> against <file:///tmp/mock/path> FAIL
Parsing: <http://[]> against <http://other.com/> FAIL
Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Parsing: <#i> against <sc:sd/sd> FAIL
Parsing: <pix/submit.gif> against <file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html> PASS
Parsing: <https:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Parsing: <#i> against <sc://ho/pa> FAIL
Parsing: <http://www.google.com> against <about:blank> PASS
Parsing: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Parsing: <http://:@www.example.com> against <about:blank> FAIL
Parsing: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Parsing: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Parsing: </:23> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Parsing: <#/> against <http://example.org/foo/bar> PASS
Parsing: <http:@:www.example.com> against <about:blank> FAIL
Parsing: <javascript:/../> against <about:blank> FAIL
Parsing: <:foo.com/> against <http://example.org/foo/bar> PASS
Parsing: <///test> against <file:///tmp/mock/path> PASS
Parsing: <http://4294967296> against <http://other.com/> FAIL
Parsing: <:/> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com//foo> against <about:blank> PASS
Parsing: <http://example.com/foo%2> against <about:blank> PASS
Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path> FAIL
Parsing: <ws:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <#i> against <sc:sd> FAIL
Parsing: <http://foo:80/> against <about:blank> PASS
Parsing: <gopher:/example.com/> against <about:blank> FAIL
Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/> FAIL
Parsing: <mailto:/example.com/> against <about:blank> FAIL
Parsing: <http://256.256.256.256.256> against <http://other.com/> PASS
Parsing: <http://f:b/c> against <http://example.org/foo/bar> FAIL
Parsing: <test> against <file:///tmp/mock/path> PASS
Parsing: <http://4294967295> against <http://other.com/> PASS
Parsing: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Parsing: <http://@:www.example.com> against <about:blank> FAIL
Parsing: <mailto:example.com/> against <about:blank> FAIL
Parsing: <..> against <file:///ab:/> PASS
Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Parsing: <http://192.168.257.com> against <http://other.com/> PASS
Parsing: </\server/file> against <file:///tmp/mock/path> FAIL
Parsing: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> FAIL
Parsing: <http://2001::1> against <http://example.org/foo/bar> FAIL
Parsing: <?i> against <sc://ho/pa> FAIL
Parsing: <http://www.example2.com> against <http://www.example.com/test> PASS
Parsing: <javascript:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http:foo.com> against <http://example.org/foo/bar> PASS
Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http:/example.com/> against <about:blank> PASS
Parsing: <?i> against <sc:///pa/pa> FAIL
Parsing: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Parsing: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Loading data… PASS
Parsing: </some/path> against <http://user:pass@example.org:21/smth> PASS
Parsing: <file:test> against <file:///tmp/mock/path> PASS
Parsing: <http://%zz%66%a.com> against <http://other.com/> FAIL
Parsing: </i> against <sc:sd> FAIL
Parsing: <http://10000000000> against <http://other.com/> FAIL
Parsing: <http://foo:81/> against <about:blank> PASS
Parsing: <file:/example.com/> against <about:blank> PASS
Parsing: <http://example.com/foo\tbar> against <about:blank> PASS
Parsing: <httpa://foo:80/> against <about:blank> FAIL
Parsing: <http://example.com/foo/bar/..> against <about:blank> PASS
Parsing: <data:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank> PASS
Parsing: <http://0xffffffff> against <http://other.com/> PASS
Parsing: <data:test# »> against <about:blank> FAIL
Parsing: <ws:example.com/> against <about:blank> PASS
Parsing: <#> against <http://example.org/foo/bar> PASS
Parsing: <http://@pple.com> against <about:blank> PASS
Parsing: <http://256.com> against <http://other.com/> PASS
Parsing: <wss://foo:81/> against <about:blank> PASS
Parsing: <http://你好你好> against <http://other.com/> FAIL
Parsing: <tel:1234567890> against <http://example.org/foo/bar> FAIL
Parsing: <https://foo:443/> against <about:blank> PASS
Parsing: <//foo/bar> against <http://example.org/foo/bar> PASS
Parsing: <http:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <#;?> against <http://example.org/foo/bar> PASS
Parsing: <foo:/> against <http://example.org/foo/bar> FAIL
Parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Parsing: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Parsing: <ftps:example.com/> against <about:blank> FAIL
Parsing: <http:> against <https://example.org/foo/bar> FAIL
Parsing: <http://user:pass@/> against <about:blank> FAIL
Parsing: <mailto:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <gopher://foo:443/> against <about:blank> FAIL
Parsing: <//www.example2.com> against <http://www.example.com/test> PASS
Parsing: <http://example.com/%20foo> against <about:blank> PASS
Parsing: <http://f:/c> against <http://example.org/foo/bar> PASS
Parsing: </some/path> against <http://user@example.org/smth> PASS
Parsing: <http://example.com/foo%2©zbar> against <about:blank> PASS
Parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Parsing: <http://[::127.0.0.1]> against <http://example.org/foo/bar> FAIL
Parsing: <non-special://:@test/x> against <about:blank> FAIL
Parsing: <?i> against <sc:sd> FAIL
Parsing: <ftps:/example.com/> against <about:blank> FAIL
Parsing: <../i> against <sc:/pa/pa> FAIL
Parsing: <http://2001::1]:80> against <http://example.org/foo/bar> FAIL
`Parsing: < File:c ////foo\bar.html> against file:///tmp/mock/path`
Parsing: <http://example.com\\foo\\bar> against <about:blank> PASS
Parsing: <http://example.com/foo%00%51> against <about:blank> PASS
Parsing: <http:a:b@www.example.com> against <about:blank> PASS
Parsing: <http://192.168.0.257> against <http://other.com/> FAIL
Parsing: <test.txt> against <http://www.example.com/test> PASS
Parsing: <c:/foo> against <http://example.org/foo/bar> FAIL
Parsing: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> FAIL
Parsing: <ftps:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <javascript:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <#i> against <sc:///pa/pa> FAIL
Parsing: <./test.txt> against <http://www.example.com/test> PASS
Parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Parsing: <::23> against <http://example.org/foo/bar> PASS
Parsing: <?i> against <sc:sd/sd> FAIL
Parsing: <..> against <file:///> PASS
Parsing: <i> against <sc:sd/sd> FAIL
Parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Parsing: <http://Go.com> against <http://other.com/> PASS
Parsing: <data:example.com/> against <about:blank> FAIL
Parsing: <#β> against <http://example.org/foo/bar> PASS
Parsing: </> against <file:///C:/a/b> FAIL
Parsing: <http://example.com/./.foo> against <about:blank> PASS
Parsing: <http://www.foo。bar.com> against <http://other.com/> PASS
Parsing: <//d:/..> against <file:///C:/a/b> PASS
Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path> PASS
Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <//> against <file:///tmp/mock/path> PASS
Parsing: <sc:> against <https://example.org/foo/bar> PASS
Parsing: <http://0xffffffff1> against <http://other.com/> FAIL
Parsing: <wss:/example.com/> against <about:blank> PASS
Parsing: <http::@c:29> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/../../..> against <about:blank> PASS
Parsing: <https://@@@example> against <http://doesnotmatter/> PASS
Parsing: <http://example.com/你好你好> against <about:blank> PASS
Parsing: <http://192.168.0.1 hello> against <http://other.com/> FAIL
Parsing: </test.txt> against <http://www.example.com/test> PASS
Parsing: <data:text/html,test#test> against <http://example.org/foo/bar> FAIL
Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar> PASS
Parsing: <http://GOO  goo.com> against <http://other.com/> FAIL
Parsing: <sc::a@example.net> against <about:blank> FAIL
Parsing: <about:/../> against <about:blank> FAIL
Parsing: <http://256> against <http://other.com/> PASS
Parsing: <http:@www.example.com> against <about:blank> PASS
Parsing: <foo://///////> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/%2e> against <about:blank> FAIL
Parsing: <:a> against <http://example.org/foo/bar> PASS
Parsing: <:23> against <http://example.org/foo/bar> PASS
Parsing: <http:/a:@www.example.com> against <about:blank> FAIL
Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/> FAIL
Parsing: <sc:\../> against <about:blank> FAIL
Parsing: <ftp://foo:21/> against <about:blank> PASS
Parsing: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/‥/foo> against <about:blank> PASS
`Parsing: <http://Goo%20 goo%7C .com> against http://other.com/`
Parsing: <http:> against <http://example.org/foo/bar> PASS
Parsing: <http://a:b@/www.example.com> against <about:blank> FAIL
Parsing: <../i> against <sc://ho/pa> FAIL
Parsing: </i> against <sc:///pa/pa> FAIL
Parsing: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing: <http:/a:b@www.example.com> against <about:blank> PASS
Parsing: <//d:> against <file:///C:/a/b> PASS
Parsing: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Parsing: <http://[www.google.com]/> against <about:blank> FAIL
Parsing: <../aaa/test.txt> against <http://www.example.com/test> PASS
Parsing: <../i> against <sc:///pa/pa> FAIL
Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/> FAIL
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Parsing: </i> against <sc:/pa/pa> FAIL
Parsing: <ws://foo:81/> against <about:blank> PASS
Parsing: <https://test:@test> against <about:blank> FAIL
Parsing: <http://example.com/././foo> against <about:blank> PASS
Parsing: <file:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Parsing: </a%2fc> against <http://example.org/foo/bar> PASS
Parsing: <mailto:/../> against <about:blank> FAIL
Parsing: <http://[google.com]> against <http://other.com/> FAIL
Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Parsing: <http://0Xc0.0250.01> against <http://other.com/> PASS
Parsing: <http://a:@www.example.com> against <about:blank> FAIL
Parsing: <http://example.com/foo/bar//..> against <about:blank> PASS
Parsing: <http://192.0x00A80001> against <about:blank> PASS
Parsing: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Parsing: </a/ /c> against <http://example.org/foo/bar> PASS
Parsing: <?i> against <sc:/pa/pa> FAIL
Parsing: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <https://:@test> against <about:blank> FAIL
Parsing: <http://a:b@www.example.com> against <about:blank> PASS
Parsing: <..> against <file:///C:/> FAIL
Parsing: <http:/@:www.example.com> against <about:blank> FAIL
Parsing: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Parsing: <non-special://test:@test/x> against <about:blank> FAIL
Parsing: <gopher:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <ftp://foo:80/> against <about:blank> PASS
Parsing: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank> FAIL
Parsing: <http://example.com/foo/bar/../> against <about:blank> PASS
Parsing: <http://[1::2]:3:4> against <http://example.org/foo/bar> FAIL
Parsing: <wss:example.com/> against <about:blank> PASS
Parsing: <http://�zyx.com> against <http://other.com/> FAIL
`Parsing: </C \foo\bar> against file:///tmp/mock/path`
Parsing: <..> against <file:///1:/> PASS
Parsing: <http://example.com/foo/../../../ton> against <about:blank> PASS
Parsing: <i> against <sc:sd> FAIL
Parsing: <http://999999999.com> against <http://other.com/> PASS
Parsing: <http::b@www.example.com> against <about:blank> FAIL
Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar> FAIL
Parsing: </> against <http://example.org/foo/bar> PASS
Parsing: <#x> against <data:,> FAIL
/url/a-element-origin.html
Subtest Results
OK
Parsing origin: <about:/../> against <about:blank> PASS
Parsing origin: <javascript:/example.com/> against <about:blank> PASS
Parsing origin: <中/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <foo://> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Parsing origin: < \t> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www/foo/%2E/html> against <about:blank> PASS
Parsing origin: <./test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo/bar//../..> against <about:blank> PASS
Parsing origin: <http:foo.com> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <about:blank> PASS
Parsing origin: <https:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd> PASS
Parsing origin: <https:/example.com/> against <about:blank> PASS
Parsing origin: <wss:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <data:example.com/> against <about:blank> FAIL
Parsing origin: <../i> against <sc://ho/pa> FAIL
Parsing origin: <#\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.@pple.com> against <about:blank> PASS
Parsing origin: <http://999999999> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo/../../..> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/你好你好> against <about:blank> PASS
Parsing origin: <http://4294967295> against <http://other.com/> PASS
Parsing origin: <http://www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Parsing origin: <http://example.com//foo> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2> against <about:blank> PASS
Parsing origin: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Parsing origin: <:> against <http://example.org/foo/bar> PASS
Parsing origin: <http:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Parsing origin: <test.txt> against <http://www.example.com/test> PASS
Parsing origin: <:foo.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/../../../ton> against <about:blank> PASS
Parsing origin: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank> PASS
Parsing origin: <http://example.com/foo/.> against <about:blank> PASS
Parsing origin: <https:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:b@www.example.com> against <about:blank> PASS
Parsing origin: <https:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </> against <http://example.org/foo/bar> PASS
Parsing origin: <http://你好你好> against <http://other.com/> PASS
Parsing origin: <http://www/foo%2Ehtml> against <about:blank> PASS
Parsing origin: <http://0Xc0.0250.01> against <http://other.com/> PASS
Parsing origin: <http:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#β> against <http://example.org/foo/bar> PASS
Parsing origin: <c:/foo> against <http://example.org/foo/bar> PASS
Parsing origin: </a/ /c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://192.0x00A80001> against <about:blank> PASS
Parsing origin: <foo:/bar.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Parsing origin: <https://foo:80/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%00%51> against <about:blank> PASS
Loading data… PASS
Parsing origin: <ftps:example.com/> against <about:blank> PASS
Parsing origin: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/%2e> against <about:blank> PASS
Parsing origin: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Parsing origin: <ws://foo:80/> against <about:blank> PASS
Parsing origin: <http://192.168.257.com> against <http://other.com/> PASS
Parsing origin: <http://0xffffffff> against <http://other.com/> PASS
Parsing origin: <http://example.com////../..> against <about:blank> PASS
Parsing origin: <//www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://:@www.example.com> against <about:blank> FAIL
Parsing origin: <#> against <http://example.org/foo/bar> PASS
Parsing origin: <http::@c:29> against <http://example.org/foo/bar> PASS
Parsing origin: <http://999999999.com> against <http://other.com/> PASS
Parsing origin: <gopher:example.com/> against <about:blank> FAIL
Parsing origin: <wss:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd/sd> PASS
Parsing origin: <http://foo:80/> against <about:blank> PASS
Parsing origin: <data:test# »> against <about:blank> FAIL
Parsing origin: <gopher:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/bar/..> against <about:blank> PASS
Parsing origin: <mailto:/../> against <about:blank> PASS
Parsing origin: < foo.com > against <http://example.org/foo/bar> PASS
Parsing origin: </a%2fc> against <http://example.org/foo/bar> PASS
Parsing origin: <ftp://foo:80/> against <about:blank> PASS
Parsing origin: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Parsing origin: <http://foo.com:b@d/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://256.256.256.256.256> against <http://other.com/> PASS
Parsing origin: <gopher://foo:70/> against <about:blank> FAIL
Parsing origin: <http://example.com\\foo\\bar> against <about:blank> PASS
Parsing origin: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:@www.example.com> against <about:blank> PASS
Parsing origin: <ws:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/././foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:/pa/pa> FAIL
Parsing origin: <madeupscheme:example.com/> against <about:blank> PASS
Parsing origin: </a/%2f/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/‥/foo> against <about:blank> PASS
Parsing origin: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2zbar> against <about:blank> PASS
Parsing origin: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:/example.com/> against <about:blank> PASS
Parsing origin: <#x> against <about:blank> PASS
Parsing origin: <http:/:b@www.example.com> against <about:blank> FAIL
Parsing origin: <http://192.168.257> against <http://other.com/> PASS
Parsing origin: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> PASS
Parsing origin: <..> against <http://www.example.com/test> PASS
Parsing origin: </i> against <sc:/pa/pa> FAIL
Parsing origin: <non-special://:@test/x> against <about:blank> PASS
Parsing origin: <//foo/bar> against <http://example.org/foo/bar> PASS
Parsing origin: <../../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http:example.com/> against <about:blank> PASS
Parsing origin: <non-special://test:@test/x> against <about:blank> PASS
Parsing origin: <sc://ñ.test/> against <about:blank> PASS
Parsing origin: <ftp://foo:21/> against <about:blank> PASS
Parsing origin: <http://www.google.com/foo?bar=baz# »> against <about:blank> PASS
Parsing origin: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@@@example> against <http://doesnotmatter/> PASS
Parsing origin: <:\> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Parsing origin: <?i> against <sc://ho/pa> FAIL
Parsing origin: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Parsing origin: <http://f:00000000000000/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://10000000000.com> against <http://other.com/> PASS
Parsing origin: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar//..> against <about:blank> PASS
Parsing origin: <javascript:/../> against <about:blank> PASS
Parsing origin: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Parsing origin: <i> against <sc://ho/pa> FAIL
Parsing origin: </a/b/c> against <http://example.org/foo/bar> PASS
Parsing origin: <i> against <sc:/pa/pa> FAIL
Parsing origin: <a:\t foo.com> against <http://example.org/foo/bar> PASS
Parsing origin: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Parsing origin: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.foo。bar.com> against <http://other.com/> PASS
Parsing origin: <madeupscheme:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <:/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo\t�%91> against <about:blank> PASS
Parsing origin: <data:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Parsing origin: <#i> against <sc:/pa/pa> PASS
Parsing origin: <http://example.com/foo> against <about:blank> PASS
Parsing origin: <wss://foo:443/> against <about:blank> PASS
Parsing origin: <wss://foo:81/> against <about:blank> PASS
Parsing origin: <#x> against <data:,> PASS
Parsing origin: <foo://///////> against <http://example.org/foo/bar> PASS
Parsing origin: <sc:\../> against <about:blank> PASS
Parsing origin: <http://www.google.com> against <about:blank> PASS
Parsing origin: <sc::a@example.net> against <about:blank> PASS
Parsing origin: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Parsing origin: <sc:> against <https://example.org/foo/bar> PASS
Parsing origin: <ws:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <:foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <ftps:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <https://test:@test> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <about:blank> PASS
Parsing origin: <data:/../> against <about:blank> FAIL
Parsing origin: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Parsing origin: </some/path> against <http://user@example.org/smth> PASS
Parsing origin: <ws://foo:815/> against <about:blank> PASS
Parsing origin: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Parsing origin: <http://256> against <http://other.com/> PASS
Parsing origin: <#i> against <sc:///pa/pa> PASS
Parsing origin: <gopher://foo:443/> against <about:blank> FAIL
Parsing origin: <http://example.com/foo\tbar> against <about:blank> PASS
Parsing origin: </some/path> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http:/a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:443/> against <about:blank> PASS
Parsing origin: <#x> against <mailto:x@x.com> PASS
Parsing origin: <gopher:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/..bar> against <about:blank> PASS
Parsing origin: <../aaa/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo%2©zbar> against <about:blank> PASS
Parsing origin: <http::b@www.example.com> against <about:blank> FAIL
Parsing origin: <http://Go.com> against <http://other.com/> PASS
Parsing origin: <ftps:/example.com/> against <about:blank> PASS
Parsing origin: <mailto:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo%> against <about:blank> PASS
Parsing origin: <https://:@test> against <about:blank> FAIL
Parsing origin: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Parsing origin: </i> against <sc://ho/pa> FAIL
Parsing origin: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[::127.0.0.1]> against <http://example.org/foo/bar> FAIL
Parsing origin: <javascript:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </:23> against <http://example.org/foo/bar> PASS
Parsing origin: <foo:/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://@pple.com> against <about:blank> PASS
Parsing origin: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Parsing origin: </test.txt> against <http://www.example.com/test> PASS
Parsing origin: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <::23> against <http://example.org/foo/bar> PASS
Parsing origin: <.> against <http://www.example.com/test> PASS
Parsing origin: <ftps:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://256.com> against <http://other.com/> PASS
Parsing origin: <foo:////://///> against <http://example.org/foo/bar> PASS
Parsing origin: <madeupscheme:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <::> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http:\\www.google.com\foo> against <about:blank> PASS
Parsing origin: <?> against <http://example.org/foo/bar> PASS
Parsing origin: <foo://///////bar.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://f:/c> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:example.com/> against <about:blank> PASS
Parsing origin: <> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#i> against <sc://ho/pa> PASS
Parsing origin: <http://example.com/%20foo> against <about:blank> PASS
Parsing origin: </> against <http://www.example.com/test> PASS
Parsing origin: <tel:1234567890> against <http://example.org/foo/bar> PASS
Parsing origin: <?i> against <sc:/pa/pa> FAIL
Parsing origin: <http:> against <http://example.org/foo/bar> PASS
Parsing origin: <wss://foo:80/> against <about:blank> PASS
Parsing origin: <data:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/%2e%2> against <about:blank> PASS
Parsing origin: <i> against <sc:///pa/pa> FAIL
Parsing origin: <../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <madeupscheme:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo/./> against <about:blank> PASS
Parsing origin: <#> against <test:test?test> PASS
Parsing origin: <http:/@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Parsing origin: <http://example.com/foo%41%7a> against <about:blank> PASS
Parsing origin: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Parsing origin: <http:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:81/> against <about:blank> PASS
Parsing origin: <ws:example.com/> against <about:blank> PASS
Parsing origin: <:a> against <http://example.org/foo/bar> PASS
Parsing origin: <https://foo:443/> against <about:blank> PASS
Parsing origin: <gopher:/example.com/> against <about:blank> FAIL
Parsing origin: <javascript:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/@asdf%40> against <about:blank> PASS
Parsing origin: <http://::@c@d:2> against <http://example.org/foo/bar> FAIL
Parsing origin: <> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/./.foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:///pa/pa> FAIL
Parsing origin: <:#> against <http://example.org/foo/bar> PASS
Parsing origin: </i> against <sc:///pa/pa> FAIL
Parsing origin: <http:/a:b@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:81/> against <about:blank> PASS
Parsing origin: <javascript:example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Parsing origin: <httpa://foo:80/> against <about:blank> PASS
Parsing origin: <wss://foo:815/> against <about:blank> PASS
Parsing origin: <#> against <test:test> PASS
Parsing origin: <data:text/html,test#test> against <http://example.org/foo/bar> PASS
Parsing origin: <http:/example.com/> against <about:blank> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Parsing origin: <http://f:0/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/../> against <about:blank> PASS
Parsing origin: <:23> against <http://example.org/foo/bar> PASS
Parsing origin: <http://:b@www.example.com> against <about:blank> FAIL
Parsing origin: <data:/example.com/> against <about:blank> FAIL
Parsing origin: <?i> against <sc:///pa/pa> FAIL
Parsing origin: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:b@www.example.com> against <about:blank> PASS
Parsing origin: <#;?> against <http://example.org/foo/bar> PASS
/url/a-element-origin-xhtml.xhtml
Subtest Results
OK
Parsing origin: <about:/../> against <about:blank> PASS
Parsing origin: <javascript:/example.com/> against <about:blank> PASS
Parsing origin: <中/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <foo://> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Parsing origin: < \t> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www/foo/%2E/html> against <about:blank> PASS
Parsing origin: <./test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo/bar//../..> against <about:blank> PASS
Parsing origin: <http:foo.com> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <about:blank> PASS
Parsing origin: <https:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd> PASS
Parsing origin: <https:/example.com/> against <about:blank> PASS
Parsing origin: <wss:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <data:example.com/> against <about:blank> FAIL
Parsing origin: <../i> against <sc://ho/pa> FAIL
Parsing origin: <#\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.@pple.com> against <about:blank> PASS
Parsing origin: <http://999999999> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo/../../..> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/你好你好> against <about:blank> PASS
Parsing origin: <http://4294967295> against <http://other.com/> PASS
Parsing origin: <http://www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Parsing origin: <http://example.com//foo> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2> against <about:blank> PASS
Parsing origin: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Parsing origin: <:> against <http://example.org/foo/bar> PASS
Parsing origin: <http:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Parsing origin: <test.txt> against <http://www.example.com/test> PASS
Parsing origin: <:foo.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/../../../ton> against <about:blank> PASS
Parsing origin: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank> PASS
Parsing origin: <http://example.com/foo/.> against <about:blank> PASS
Parsing origin: <https:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:b@www.example.com> against <about:blank> PASS
Parsing origin: <https:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </> against <http://example.org/foo/bar> PASS
Parsing origin: <http://你好你好> against <http://other.com/> PASS
Parsing origin: <http://www/foo%2Ehtml> against <about:blank> PASS
Parsing origin: <http://0Xc0.0250.01> against <http://other.com/> PASS
Parsing origin: <http:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#β> against <http://example.org/foo/bar> PASS
Parsing origin: <c:/foo> against <http://example.org/foo/bar> PASS
Parsing origin: </a/ /c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://192.0x00A80001> against <about:blank> PASS
Parsing origin: <foo:/bar.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Parsing origin: <https://foo:80/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%00%51> against <about:blank> PASS
Loading data… PASS
Parsing origin: <ftps:example.com/> against <about:blank> PASS
Parsing origin: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/%2e> against <about:blank> PASS
Parsing origin: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Parsing origin: <ws://foo:80/> against <about:blank> PASS
Parsing origin: <http://192.168.257.com> against <http://other.com/> PASS
Parsing origin: <http://0xffffffff> against <http://other.com/> PASS
Parsing origin: <http://example.com////../..> against <about:blank> PASS
Parsing origin: <//www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://:@www.example.com> against <about:blank> FAIL
Parsing origin: <#> against <http://example.org/foo/bar> PASS
Parsing origin: <http::@c:29> against <http://example.org/foo/bar> PASS
Parsing origin: <http://999999999.com> against <http://other.com/> PASS
Parsing origin: <gopher:example.com/> against <about:blank> FAIL
Parsing origin: <wss:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd/sd> PASS
Parsing origin: <http://foo:80/> against <about:blank> PASS
Parsing origin: <data:test# »> against <about:blank> FAIL
Parsing origin: <gopher:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/bar/..> against <about:blank> PASS
Parsing origin: <mailto:/../> against <about:blank> PASS
Parsing origin: < foo.com > against <http://example.org/foo/bar> PASS
Parsing origin: </a%2fc> against <http://example.org/foo/bar> PASS
Parsing origin: <ftp://foo:80/> against <about:blank> PASS
Parsing origin: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Parsing origin: <http://foo.com:b@d/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://256.256.256.256.256> against <http://other.com/> PASS
Parsing origin: <gopher://foo:70/> against <about:blank> FAIL
Parsing origin: <http://example.com\\foo\\bar> against <about:blank> PASS
Parsing origin: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:@www.example.com> against <about:blank> PASS
Parsing origin: <ws:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/././foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:/pa/pa> FAIL
Parsing origin: <madeupscheme:example.com/> against <about:blank> PASS
Parsing origin: </a/%2f/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/‥/foo> against <about:blank> PASS
Parsing origin: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2zbar> against <about:blank> PASS
Parsing origin: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:/example.com/> against <about:blank> PASS
Parsing origin: <#x> against <about:blank> PASS
Parsing origin: <http:/:b@www.example.com> against <about:blank> FAIL
Parsing origin: <http://192.168.257> against <http://other.com/> PASS
Parsing origin: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> PASS
Parsing origin: <..> against <http://www.example.com/test> PASS
Parsing origin: </i> against <sc:/pa/pa> FAIL
Parsing origin: <non-special://:@test/x> against <about:blank> PASS
Parsing origin: <//foo/bar> against <http://example.org/foo/bar> PASS
Parsing origin: <../../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http:example.com/> against <about:blank> PASS
Parsing origin: <non-special://test:@test/x> against <about:blank> PASS
Parsing origin: <sc://ñ.test/> against <about:blank> PASS
Parsing origin: <ftp://foo:21/> against <about:blank> PASS
Parsing origin: <http://www.google.com/foo?bar=baz# »> against <about:blank> PASS
Parsing origin: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@@@example> against <http://doesnotmatter/> PASS
Parsing origin: <:\> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Parsing origin: <?i> against <sc://ho/pa> FAIL
Parsing origin: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Parsing origin: <http://f:00000000000000/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://10000000000.com> against <http://other.com/> PASS
Parsing origin: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar//..> against <about:blank> PASS
Parsing origin: <javascript:/../> against <about:blank> PASS
Parsing origin: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Parsing origin: <i> against <sc://ho/pa> FAIL
Parsing origin: </a/b/c> against <http://example.org/foo/bar> PASS
Parsing origin: <i> against <sc:/pa/pa> FAIL
Parsing origin: <a:\t foo.com> against <http://example.org/foo/bar> PASS
Parsing origin: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Parsing origin: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.foo。bar.com> against <http://other.com/> PASS
Parsing origin: <madeupscheme:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <:/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo\t�%91> against <about:blank> PASS
Parsing origin: <data:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Parsing origin: <#i> against <sc:/pa/pa> PASS
Parsing origin: <http://example.com/foo> against <about:blank> PASS
Parsing origin: <wss://foo:443/> against <about:blank> PASS
Parsing origin: <wss://foo:81/> against <about:blank> PASS
Parsing origin: <#x> against <data:,> PASS
Parsing origin: <foo://///////> against <http://example.org/foo/bar> PASS
Parsing origin: <sc:\../> against <about:blank> PASS
Parsing origin: <http://www.google.com> against <about:blank> PASS
Parsing origin: <sc::a@example.net> against <about:blank> PASS
Parsing origin: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Parsing origin: <sc:> against <https://example.org/foo/bar> PASS
Parsing origin: <ws:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <:foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <ftps:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <https://test:@test> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <about:blank> PASS
Parsing origin: <data:/../> against <about:blank> FAIL
Parsing origin: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Parsing origin: </some/path> against <http://user@example.org/smth> PASS
Parsing origin: <ws://foo:815/> against <about:blank> PASS
Parsing origin: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Parsing origin: <http://256> against <http://other.com/> PASS
Parsing origin: <#i> against <sc:///pa/pa> PASS
Parsing origin: <gopher://foo:443/> against <about:blank> FAIL
Parsing origin: <http://example.com/foo\tbar> against <about:blank> PASS
Parsing origin: </some/path> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http:/a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:443/> against <about:blank> PASS
Parsing origin: <#x> against <mailto:x@x.com> PASS
Parsing origin: <gopher:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/..bar> against <about:blank> PASS
Parsing origin: <../aaa/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo%2©zbar> against <about:blank> PASS
Parsing origin: <http::b@www.example.com> against <about:blank> FAIL
Parsing origin: <http://Go.com> against <http://other.com/> PASS
Parsing origin: <ftps:/example.com/> against <about:blank> PASS
Parsing origin: <mailto:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo%> against <about:blank> PASS
Parsing origin: <https://:@test> against <about:blank> FAIL
Parsing origin: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Parsing origin: </i> against <sc://ho/pa> FAIL
Parsing origin: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[::127.0.0.1]> against <http://example.org/foo/bar> FAIL
Parsing origin: <javascript:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </:23> against <http://example.org/foo/bar> PASS
Parsing origin: <foo:/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://@pple.com> against <about:blank> PASS
Parsing origin: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Parsing origin: </test.txt> against <http://www.example.com/test> PASS
Parsing origin: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <::23> against <http://example.org/foo/bar> PASS
Parsing origin: <.> against <http://www.example.com/test> PASS
Parsing origin: <ftps:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://256.com> against <http://other.com/> PASS
Parsing origin: <foo:////://///> against <http://example.org/foo/bar> PASS
Parsing origin: <madeupscheme:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <::> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http:\\www.google.com\foo> against <about:blank> PASS
Parsing origin: <?> against <http://example.org/foo/bar> PASS
Parsing origin: <foo://///////bar.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://f:/c> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:example.com/> against <about:blank> PASS
Parsing origin: <> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#i> against <sc://ho/pa> PASS
Parsing origin: <http://example.com/%20foo> against <about:blank> PASS
Parsing origin: </> against <http://www.example.com/test> PASS
Parsing origin: <tel:1234567890> against <http://example.org/foo/bar> PASS
Parsing origin: <?i> against <sc:/pa/pa> FAIL
Parsing origin: <http:> against <http://example.org/foo/bar> PASS
Parsing origin: <wss://foo:80/> against <about:blank> PASS
Parsing origin: <data:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/%2e%2> against <about:blank> PASS
Parsing origin: <i> against <sc:///pa/pa> FAIL
Parsing origin: <../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <madeupscheme:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo/./> against <about:blank> PASS
Parsing origin: <#> against <test:test?test> PASS
Parsing origin: <http:/@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Parsing origin: <http://example.com/foo%41%7a> against <about:blank> PASS
Parsing origin: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Parsing origin: <http:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:81/> against <about:blank> PASS
Parsing origin: <ws:example.com/> against <about:blank> PASS
Parsing origin: <:a> against <http://example.org/foo/bar> PASS
Parsing origin: <https://foo:443/> against <about:blank> PASS
Parsing origin: <gopher:/example.com/> against <about:blank> FAIL
Parsing origin: <javascript:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/@asdf%40> against <about:blank> PASS
Parsing origin: <http://::@c@d:2> against <http://example.org/foo/bar> FAIL
Parsing origin: <> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/./.foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:///pa/pa> FAIL
Parsing origin: <:#> against <http://example.org/foo/bar> PASS
Parsing origin: </i> against <sc:///pa/pa> FAIL
Parsing origin: <http:/a:b@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:81/> against <about:blank> PASS
Parsing origin: <javascript:example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Parsing origin: <httpa://foo:80/> against <about:blank> PASS
Parsing origin: <wss://foo:815/> against <about:blank> PASS
Parsing origin: <#> against <test:test> PASS
Parsing origin: <data:text/html,test#test> against <http://example.org/foo/bar> PASS
Parsing origin: <http:/example.com/> against <about:blank> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Parsing origin: <http://f:0/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/../> against <about:blank> PASS
Parsing origin: <:23> against <http://example.org/foo/bar> PASS
Parsing origin: <http://:b@www.example.com> against <about:blank> FAIL
Parsing origin: <data:/example.com/> against <about:blank> FAIL
Parsing origin: <?i> against <sc:///pa/pa> FAIL
Parsing origin: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:b@www.example.com> against <about:blank> PASS
Parsing origin: <#;?> against <http://example.org/foo/bar> PASS
/url/a-element.html
Subtest Results
OK
Parsing: <http::@/www.example.com> against <about:blank> FAIL
Parsing: <a:\t foo.com> against <http://example.org/foo/bar> FAIL
Parsing: <#> against <test:test?test> FAIL
Parsing: <ftp:/example.com/> against <about:blank> PASS
Parsing: <http://www/foo%2Ehtml> against <about:blank> PASS
Parsing: < \t> against <http://example.org/foo/bar> PASS
Parsing: <..> against <http://www.example.com/test> PASS
Parsing: <http://foo:-80/> against <about:blank> FAIL
Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar> FAIL
Parsing: <wss://foo:815/> against <about:blank> PASS
Parsing: <file://test> against <file:///tmp/mock/path> FAIL
Parsing: <///> against <file:///tmp/mock/path> PASS
Parsing: <gopher:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://f:999999/c> against <http://example.org/foo/bar> FAIL
Parsing: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing: <http://10000000000.com> against <http://other.com/> PASS
Parsing: <http:/:b@www.example.com> against <about:blank> FAIL
Parsing: <../i> against <sc:sd/sd> FAIL
Parsing: <http://192.168.257> against <http://other.com/> PASS
Parsing: <file://localhost/test> against <file:///tmp/mock/path> PASS
Parsing: <foo:/bar.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://@/www.example.com> against <about:blank> FAIL
Parsing: <madeupscheme:/example.com/> against <about:blank> FAIL
Parsing: <http://example.com////../..> against <about:blank> PASS
Parsing: <http://user@/www.example.com> against <about:blank> FAIL
Parsing: <file://localhost/> against <file:///tmp/mock/path> PASS
Parsing: <../../test.txt> against <http://www.example.com/test> PASS
Parsing: <http://%41.com> against <http://other.com/> FAIL
Parsing: <http://2001::1]> against <http://example.org/foo/bar> FAIL
Parsing: <https://foo:80/> against <about:blank> PASS
Parsing: <http:/@/www.example.com> against <about:blank> FAIL
Parsing: <#x> against <mailto:x@x.com> FAIL
`Parsing: <//C /foo/bar> against file:///tmp/mock/path`
Parsing: <file:///home/me> against <file:///tmp/mock/path> PASS
Parsing: <file:...> against <http://www.example.com/test> PASS
Parsing: <https:example.com/> against <about:blank> PASS
Parsing: <ws:/example.com/> against <about:blank> PASS
Parsing: <http:example.com/> against <about:blank> PASS
Parsing: <http://999999999> against <http://other.com/> PASS
Parsing: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Parsing: <http:\\www.google.com\foo> against <about:blank> PASS
Parsing: <http:a:b@/www.example.com> against <about:blank> FAIL
Parsing: <http://example.com/foo> against <about:blank> PASS
Parsing: <ftp:example.com/> against <about:blank> PASS
Parsing: </i> against <sc://ho/pa> FAIL
Parsing: <#x> against <about:blank> FAIL
Parsing: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Parsing: <http://example.com/foo/.> against <about:blank> PASS
Parsing: < foo.com > against <http://example.org/foo/bar> PASS
Parsing: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <data:/example.com/> against <about:blank> FAIL
Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Parsing: <http://:b@www.example.com> against <about:blank> FAIL
Parsing: <../i> against <sc:sd> FAIL
Parsing: <http://hello%00> against <http://other.com/> FAIL
Parsing: <http:a:@www.example.com> against <about:blank> FAIL
Parsing: <http:/a:b@/www.example.com> against <about:blank> FAIL
`Parsing: <C /foo/bar> against file:///tmp/mock/path`
Parsing: <http://example.com/foo%> against <about:blank> PASS
Parsing: <ftps:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/%2e%2> against <about:blank> PASS
Parsing: <::> against <http://example.org/foo/bar> PASS
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Parsing: <i> against <sc:///pa/pa> FAIL
Parsing: <http://example.com/foo%41%7a> against <about:blank> PASS
Parsing: <> against <http://user:pass@example.org:21/smth> PASS
Parsing: </> against <http://www.example.com/test> PASS
Parsing: <gopher:example.com/> against <about:blank> FAIL
Parsing: <http://example.com/foo%2zbar> against <about:blank> PASS
Parsing: <#i> against <sc:/pa/pa> FAIL
Parsing: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Parsing: <http://example.com/foo/./> against <about:blank> PASS
Parsing: <../test.txt> against <http://www.example.com/test> PASS
Parsing: <wss://foo:80/> against <about:blank> PASS
Parsing: <gopher://foo:70/> against <about:blank> FAIL
Parsing: <http:@/www.example.com> against <about:blank> FAIL
Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar> FAIL
Parsing: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Parsing: <?> against <http://example.org/foo/bar> PASS
Parsing: <javascript:example.com/> against <about:blank> FAIL
Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Parsing: <wss:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/foo/bar//../..> against <about:blank> PASS
Parsing: <http://example.com/foo\t�%91> against <about:blank> PASS
Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Parsing: <http:/:@/www.example.com> against <about:blank> FAIL
Parsing: <:#> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/@asdf%40> against <about:blank> PASS
Parsing: <http://::@c@d:2> against <http://example.org/foo/bar> FAIL
Parsing: <http://www/foo/%2E/html> against <about:blank> PASS
Parsing: <data:/../> against <about:blank> FAIL
Parsing: <javascript:/example.com/> against <about:blank> FAIL
Parsing: <.> against <http://www.example.com/test> PASS
Parsing: <http:/@www.example.com> against <about:blank> PASS
Parsing: <foo://> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/..bar> against <about:blank> PASS
Parsing: <i> against <sc:/pa/pa> FAIL
Parsing: <http://%00.com> against <http://other.com/> FAIL
Parsing: <wss://foo:443/> against <about:blank> PASS
Parsing: <:> against <http://example.org/foo/bar> PASS
Parsing: <ws://foo:80/> against <about:blank> PASS
Parsing: <http:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <:\> against <http://example.org/foo/bar> PASS
Parsing: <sc://ñ.test/> against <about:blank> FAIL
Parsing: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Parsing: </a/%2f/c> against <http://example.org/foo/bar> PASS
Parsing: <file:a> against <http://www.example.com/test> PASS
Parsing: <mailto:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <#> against <test:test> FAIL
Parsing: <#\> against <http://example.org/foo/bar> PASS
Parsing: <:foo.com\> against <http://example.org/foo/bar> PASS
Parsing: <file:..> against <http://www.example.com/test> FAIL
Parsing: <http://f:0/c> against <http://example.org/foo/bar> PASS
Parsing: <https:example.com/> against <http://example.org/foo/bar> PASS
Parsing: </i> against <sc:sd/sd> FAIL
Parsing: <foo:////://///> against <http://example.org/foo/bar> FAIL
Parsing: <file://localhost> against <file:///tmp/mock/path> PASS
Parsing: <ws://foo:443/> against <about:blank> PASS
Parsing: <中/test.txt> against <http://www.example.com/test> PASS
Parsing: </a/b/c> against <http://example.org/foo/bar> PASS
Parsing: <data:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http://@www.example.com> against <about:blank> PASS
Parsing: <madeupscheme:example.com/> against <about:blank> FAIL
Parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <ws://foo:815/> against <about:blank> PASS
Parsing: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <https:/example.com/> against <about:blank> PASS
Parsing: <i> against <sc://ho/pa> FAIL
Parsing: <http://[:]> against <http://other.com/> FAIL
Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Parsing: <https:@/www.example.com> against <about:blank> FAIL
Parsing: <http://example example.com> against <http://other.com/> FAIL
Parsing: <http://f: /c> against <http://example.org/foo/bar> FAIL
Parsing: <http://www.@pple.com> against <about:blank> FAIL
Parsing: <http://256.256.256.256> against <http://other.com/> FAIL
Parsing: <> against <http://example.org/foo/bar> PASS
Parsing: <\\server\file> against <file:///tmp/mock/path> FAIL
Parsing: <http://%25> against <http://other.com/> FAIL
Parsing: <//server/file> against <file:///tmp/mock/path> FAIL
Parsing: <http://[]> against <http://other.com/> FAIL
Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Parsing: <#i> against <sc:sd/sd> FAIL
Parsing: <pix/submit.gif> against <file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html> PASS
Parsing: <https:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Parsing: <#i> against <sc://ho/pa> FAIL
Parsing: <http://www.google.com> against <about:blank> PASS
Parsing: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Parsing: <http://:@www.example.com> against <about:blank> FAIL
Parsing: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Parsing: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Parsing: </:23> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Parsing: <#/> against <http://example.org/foo/bar> PASS
Parsing: <http:@:www.example.com> against <about:blank> FAIL
Parsing: <javascript:/../> against <about:blank> FAIL
Parsing: <:foo.com/> against <http://example.org/foo/bar> PASS
Parsing: <///test> against <file:///tmp/mock/path> PASS
Parsing: <http://4294967296> against <http://other.com/> FAIL
Parsing: <:/> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com//foo> against <about:blank> PASS
Parsing: <http://example.com/foo%2> against <about:blank> PASS
Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path> FAIL
Parsing: <ws:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <#i> against <sc:sd> FAIL
Parsing: <http://foo:80/> against <about:blank> PASS
Parsing: <gopher:/example.com/> against <about:blank> FAIL
Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/> FAIL
Parsing: <mailto:/example.com/> against <about:blank> FAIL
Parsing: <http://256.256.256.256.256> against <http://other.com/> PASS
Parsing: <http://f:b/c> against <http://example.org/foo/bar> FAIL
Parsing: <test> against <file:///tmp/mock/path> PASS
Parsing: <http://4294967295> against <http://other.com/> PASS
Parsing: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Parsing: <http://@:www.example.com> against <about:blank> FAIL
Parsing: <mailto:example.com/> against <about:blank> FAIL
Parsing: <..> against <file:///ab:/> PASS
Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Parsing: <http://192.168.257.com> against <http://other.com/> PASS
Parsing: </\server/file> against <file:///tmp/mock/path> FAIL
Parsing: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> FAIL
Parsing: <http://2001::1> against <http://example.org/foo/bar> FAIL
Parsing: <?i> against <sc://ho/pa> FAIL
Parsing: <http://www.example2.com> against <http://www.example.com/test> PASS
Parsing: <javascript:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http:foo.com> against <http://example.org/foo/bar> PASS
Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar> FAIL
Parsing: <http:/example.com/> against <about:blank> PASS
Parsing: <?i> against <sc:///pa/pa> FAIL
Parsing: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Parsing: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Loading data… PASS
Parsing: </some/path> against <http://user:pass@example.org:21/smth> PASS
Parsing: <file:test> against <file:///tmp/mock/path> PASS
Parsing: <http://%zz%66%a.com> against <http://other.com/> FAIL
Parsing: </i> against <sc:sd> FAIL
Parsing: <http://10000000000> against <http://other.com/> FAIL
Parsing: <http://foo:81/> against <about:blank> PASS
Parsing: <file:/example.com/> against <about:blank> PASS
Parsing: <http://example.com/foo\tbar> against <about:blank> PASS
Parsing: <httpa://foo:80/> against <about:blank> FAIL
Parsing: <http://example.com/foo/bar/..> against <about:blank> PASS
Parsing: <data:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank> PASS
Parsing: <http://0xffffffff> against <http://other.com/> PASS
Parsing: <data:test# »> against <about:blank> FAIL
Parsing: <ws:example.com/> against <about:blank> PASS
Parsing: <#> against <http://example.org/foo/bar> PASS
Parsing: <http://@pple.com> against <about:blank> PASS
Parsing: <http://256.com> against <http://other.com/> PASS
Parsing: <wss://foo:81/> against <about:blank> PASS
Parsing: <http://你好你好> against <http://other.com/> FAIL
Parsing: <tel:1234567890> against <http://example.org/foo/bar> FAIL
Parsing: <https://foo:443/> against <about:blank> PASS
Parsing: <//foo/bar> against <http://example.org/foo/bar> PASS
Parsing: <http:example.com/> against <http://example.org/foo/bar> PASS
Parsing: <#;?> against <http://example.org/foo/bar> PASS
Parsing: <foo:/> against <http://example.org/foo/bar> FAIL
Parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Parsing: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Parsing: <ftps:example.com/> against <about:blank> FAIL
Parsing: <http:> against <https://example.org/foo/bar> FAIL
Parsing: <http://user:pass@/> against <about:blank> FAIL
Parsing: <mailto:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <gopher://foo:443/> against <about:blank> FAIL
Parsing: <//www.example2.com> against <http://www.example.com/test> PASS
Parsing: <http://example.com/%20foo> against <about:blank> PASS
Parsing: <http://f:/c> against <http://example.org/foo/bar> PASS
Parsing: </some/path> against <http://user@example.org/smth> PASS
Parsing: <http://example.com/foo%2©zbar> against <about:blank> PASS
Parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Parsing: <http://[::127.0.0.1]> against <http://example.org/foo/bar> FAIL
Parsing: <non-special://:@test/x> against <about:blank> FAIL
Parsing: <?i> against <sc:sd> FAIL
Parsing: <ftps:/example.com/> against <about:blank> FAIL
Parsing: <../i> against <sc:/pa/pa> FAIL
Parsing: <http://2001::1]:80> against <http://example.org/foo/bar> FAIL
`Parsing: < File:c ////foo\bar.html> against file:///tmp/mock/path`
Parsing: <http://example.com\\foo\\bar> against <about:blank> PASS
Parsing: <http://example.com/foo%00%51> against <about:blank> PASS
Parsing: <http:a:b@www.example.com> against <about:blank> PASS
Parsing: <http://192.168.0.257> against <http://other.com/> FAIL
Parsing: <test.txt> against <http://www.example.com/test> PASS
Parsing: <c:/foo> against <http://example.org/foo/bar> FAIL
Parsing: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> FAIL
Parsing: <ftps:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <javascript:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <#i> against <sc:///pa/pa> FAIL
Parsing: <./test.txt> against <http://www.example.com/test> PASS
Parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Parsing: <::23> against <http://example.org/foo/bar> PASS
Parsing: <?i> against <sc:sd/sd> FAIL
Parsing: <..> against <file:///> PASS
Parsing: <i> against <sc:sd/sd> FAIL
Parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Parsing: <http://Go.com> against <http://other.com/> PASS
Parsing: <data:example.com/> against <about:blank> FAIL
Parsing: <#β> against <http://example.org/foo/bar> PASS
Parsing: </> against <file:///C:/a/b> FAIL
Parsing: <http://example.com/./.foo> against <about:blank> PASS
Parsing: <http://www.foo。bar.com> against <http://other.com/> PASS
Parsing: <//d:/..> against <file:///C:/a/b> PASS
Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path> PASS
Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <//> against <file:///tmp/mock/path> PASS
Parsing: <sc:> against <https://example.org/foo/bar> PASS
Parsing: <http://0xffffffff1> against <http://other.com/> FAIL
Parsing: <wss:/example.com/> against <about:blank> PASS
Parsing: <http::@c:29> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/../../..> against <about:blank> PASS
Parsing: <https://@@@example> against <http://doesnotmatter/> PASS
Parsing: <http://example.com/你好你好> against <about:blank> PASS
Parsing: <http://192.168.0.1 hello> against <http://other.com/> FAIL
Parsing: </test.txt> against <http://www.example.com/test> PASS
Parsing: <data:text/html,test#test> against <http://example.org/foo/bar> FAIL
Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar> PASS
Parsing: <http://GOO  goo.com> against <http://other.com/> FAIL
Parsing: <sc::a@example.net> against <about:blank> FAIL
Parsing: <about:/../> against <about:blank> FAIL
Parsing: <http://256> against <http://other.com/> PASS
Parsing: <http:@www.example.com> against <about:blank> PASS
Parsing: <foo://///////> against <http://example.org/foo/bar> FAIL
Parsing: <http://example.com/foo/%2e> against <about:blank> FAIL
Parsing: <:a> against <http://example.org/foo/bar> PASS
Parsing: <:23> against <http://example.org/foo/bar> PASS
Parsing: <http:/a:@www.example.com> against <about:blank> FAIL
Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/> FAIL
Parsing: <sc:\../> against <about:blank> FAIL
Parsing: <ftp://foo:21/> against <about:blank> PASS
Parsing: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/‥/foo> against <about:blank> PASS
`Parsing: <http://Goo%20 goo%7C .com> against http://other.com/`
Parsing: <http:> against <http://example.org/foo/bar> PASS
Parsing: <http://a:b@/www.example.com> against <about:blank> FAIL
Parsing: <../i> against <sc://ho/pa> FAIL
Parsing: </i> against <sc:///pa/pa> FAIL
Parsing: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing: <http:/a:b@www.example.com> against <about:blank> PASS
Parsing: <//d:> against <file:///C:/a/b> PASS
Parsing: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Parsing: <http://[www.google.com]/> against <about:blank> FAIL
Parsing: <../aaa/test.txt> against <http://www.example.com/test> PASS
Parsing: <../i> against <sc:///pa/pa> FAIL
Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/> FAIL
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Parsing: </i> against <sc:/pa/pa> FAIL
Parsing: <ws://foo:81/> against <about:blank> PASS
Parsing: <https://test:@test> against <about:blank> FAIL
Parsing: <http://example.com/././foo> against <about:blank> PASS
Parsing: <file:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Parsing: </a%2fc> against <http://example.org/foo/bar> PASS
Parsing: <mailto:/../> against <about:blank> FAIL
Parsing: <http://[google.com]> against <http://other.com/> FAIL
Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Parsing: <http://0Xc0.0250.01> against <http://other.com/> PASS
Parsing: <http://a:@www.example.com> against <about:blank> FAIL
Parsing: <http://example.com/foo/bar//..> against <about:blank> PASS
Parsing: <http://192.0x00A80001> against <about:blank> PASS
Parsing: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Parsing: </a/ /c> against <http://example.org/foo/bar> PASS
Parsing: <?i> against <sc:/pa/pa> FAIL
Parsing: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <https://:@test> against <about:blank> FAIL
Parsing: <http://a:b@www.example.com> against <about:blank> PASS
Parsing: <..> against <file:///C:/> FAIL
Parsing: <http:/@:www.example.com> against <about:blank> FAIL
Parsing: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Parsing: <non-special://test:@test/x> against <about:blank> FAIL
Parsing: <gopher:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing: <ftp://foo:80/> against <about:blank> PASS
Parsing: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Parsing: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank> FAIL
Parsing: <http://example.com/foo/bar/../> against <about:blank> PASS
Parsing: <http://[1::2]:3:4> against <http://example.org/foo/bar> FAIL
Parsing: <wss:example.com/> against <about:blank> PASS
Parsing: <http://�zyx.com> against <http://other.com/> FAIL
`Parsing: </C \foo\bar> against file:///tmp/mock/path`
Parsing: <..> against <file:///1:/> PASS
Parsing: <http://example.com/foo/../../../ton> against <about:blank> PASS
Parsing: <i> against <sc:sd> FAIL
Parsing: <http://999999999.com> against <http://other.com/> PASS
Parsing: <http::b@www.example.com> against <about:blank> FAIL
Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar> FAIL
Parsing: </> against <http://example.org/foo/bar> PASS
Parsing: <#x> against <data:,> FAIL

@wpt-stability-bot
Copy link

wpt-stability-bot commented Dec 22, 2016

Chrome

Testing revision e389fa7
Starting 10 test iterations
All results were stable

All results

/url/a-element-xhtml.xhtml
Subtest Results
ERROR
/url/a-element-origin.html
Subtest Results
OK
Parsing origin: <about:/../> against <about:blank> PASS
Parsing origin: <javascript:/example.com/> against <about:blank> PASS
Parsing origin: <中/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <foo://> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Parsing origin: < \t> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www/foo/%2E/html> against <about:blank> PASS
Parsing origin: <./test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo/bar//../..> against <about:blank> PASS
Parsing origin: <http:foo.com> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <about:blank> PASS
Parsing origin: <https:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd> FAIL
Parsing origin: <https:/example.com/> against <about:blank> PASS
Parsing origin: <wss:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <data:example.com/> against <about:blank> PASS
Parsing origin: <../i> against <sc://ho/pa> FAIL
Parsing origin: <#\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.@pple.com> against <about:blank> PASS
Parsing origin: <http://999999999> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo/../../..> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/你好你好> against <about:blank> PASS
Parsing origin: <http://4294967295> against <http://other.com/> PASS
Parsing origin: <http://www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Parsing origin: <http://example.com//foo> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2> against <about:blank> PASS
Parsing origin: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Parsing origin: <:> against <http://example.org/foo/bar> PASS
Parsing origin: <http:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Parsing origin: <test.txt> against <http://www.example.com/test> PASS
Parsing origin: <:foo.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/../../../ton> against <about:blank> PASS
Parsing origin: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank> PASS
Parsing origin: <http://example.com/foo/.> against <about:blank> PASS
Parsing origin: <https:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:b@www.example.com> against <about:blank> PASS
Parsing origin: <https:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </> against <http://example.org/foo/bar> PASS
Parsing origin: <http://你好你好> against <http://other.com/> FAIL
Parsing origin: <http://www/foo%2Ehtml> against <about:blank> PASS
Parsing origin: <http://0Xc0.0250.01> against <http://other.com/> PASS
Parsing origin: <http:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#β> against <http://example.org/foo/bar> PASS
Parsing origin: <c:/foo> against <http://example.org/foo/bar> FAIL
Parsing origin: </a/ /c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://192.0x00A80001> against <about:blank> PASS
Parsing origin: <foo:/bar.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <#/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Parsing origin: <https://foo:80/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%00%51> against <about:blank> FAIL
Loading data… PASS
Parsing origin: <ftps:example.com/> against <about:blank> FAIL
Parsing origin: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/%2e> against <about:blank> PASS
Parsing origin: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Parsing origin: <ws://foo:80/> against <about:blank> PASS
Parsing origin: <http://192.168.257.com> against <http://other.com/> PASS
Parsing origin: <http://0xffffffff> against <http://other.com/> PASS
Parsing origin: <http://example.com////../..> against <about:blank> PASS
Parsing origin: <//www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://:@www.example.com> against <about:blank> PASS
Parsing origin: <#> against <http://example.org/foo/bar> PASS
Parsing origin: <http::@c:29> against <http://example.org/foo/bar> PASS
Parsing origin: <http://999999999.com> against <http://other.com/> PASS
Parsing origin: <gopher:example.com/> against <about:blank> PASS
Parsing origin: <wss:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd/sd> FAIL
Parsing origin: <http://foo:80/> against <about:blank> PASS
Parsing origin: <data:test# »> against <about:blank> PASS
Parsing origin: <gopher:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/..> against <about:blank> PASS
Parsing origin: <mailto:/../> against <about:blank> FAIL
Parsing origin: < foo.com > against <http://example.org/foo/bar> PASS
Parsing origin: </a%2fc> against <http://example.org/foo/bar> PASS
Parsing origin: <ftp://foo:80/> against <about:blank> PASS
Parsing origin: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Parsing origin: <http://foo.com:b@d/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://256.256.256.256.256> against <http://other.com/> PASS
Parsing origin: <gopher://foo:70/> against <about:blank> PASS
Parsing origin: <http://example.com\\foo\\bar> against <about:blank> PASS
Parsing origin: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:@www.example.com> against <about:blank> PASS
Parsing origin: <ws:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/././foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:/pa/pa> FAIL
Parsing origin: <madeupscheme:example.com/> against <about:blank> FAIL
Parsing origin: </a/%2f/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/‥/foo> against <about:blank> PASS
Parsing origin: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2zbar> against <about:blank> PASS
Parsing origin: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:/example.com/> against <about:blank> FAIL
Parsing origin: <#x> against <about:blank> PASS
Parsing origin: <http:/:b@www.example.com> against <about:blank> PASS
Parsing origin: <http://192.168.257> against <http://other.com/> PASS
Parsing origin: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> PASS
Parsing origin: <..> against <http://www.example.com/test> PASS
Parsing origin: </i> against <sc:/pa/pa> FAIL
Parsing origin: <non-special://:@test/x> against <about:blank> FAIL
Parsing origin: <//foo/bar> against <http://example.org/foo/bar> PASS
Parsing origin: <../../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http:example.com/> against <about:blank> PASS
Parsing origin: <non-special://test:@test/x> against <about:blank> FAIL
Parsing origin: <sc://ñ.test/> against <about:blank> FAIL
Parsing origin: <ftp://foo:21/> against <about:blank> PASS
Parsing origin: <http://www.google.com/foo?bar=baz# »> against <about:blank> PASS
Parsing origin: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@@@example> against <http://doesnotmatter/> PASS
Parsing origin: <:\> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Parsing origin: <?i> against <sc://ho/pa> FAIL
Parsing origin: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Parsing origin: <http://f:00000000000000/c> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://10000000000.com> against <http://other.com/> PASS
Parsing origin: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar//..> against <about:blank> PASS
Parsing origin: <javascript:/../> against <about:blank> PASS
Parsing origin: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Parsing origin: <i> against <sc://ho/pa> FAIL
Parsing origin: </a/b/c> against <http://example.org/foo/bar> PASS
Parsing origin: <i> against <sc:/pa/pa> FAIL
Parsing origin: <a:\t foo.com> against <http://example.org/foo/bar> FAIL
Parsing origin: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Parsing origin: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.foo。bar.com> against <http://other.com/> PASS
Parsing origin: <madeupscheme:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <:/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo\t�%91> against <about:blank> PASS
Parsing origin: <data:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Parsing origin: <#i> against <sc:/pa/pa> FAIL
Parsing origin: <http://example.com/foo> against <about:blank> PASS
Parsing origin: <wss://foo:443/> against <about:blank> PASS
Parsing origin: <wss://foo:81/> against <about:blank> PASS
Parsing origin: <#x> against <data:,> PASS
Parsing origin: <foo://///////> against <http://example.org/foo/bar> FAIL
Parsing origin: <sc:\../> against <about:blank> FAIL
Parsing origin: <http://www.google.com> against <about:blank> PASS
Parsing origin: <sc::a@example.net> against <about:blank> FAIL
Parsing origin: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Parsing origin: <sc:> against <https://example.org/foo/bar> FAIL
Parsing origin: <ws:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <:foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <ftps:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <https://test:@test> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <about:blank> PASS
Parsing origin: <data:/../> against <about:blank> PASS
Parsing origin: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Parsing origin: </some/path> against <http://user@example.org/smth> PASS
Parsing origin: <ws://foo:815/> against <about:blank> PASS
Parsing origin: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Parsing origin: <http://256> against <http://other.com/> PASS
Parsing origin: <#i> against <sc:///pa/pa> FAIL
Parsing origin: <gopher://foo:443/> against <about:blank> PASS
Parsing origin: <http://example.com/foo\tbar> against <about:blank> PASS
Parsing origin: </some/path> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http:/a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:443/> against <about:blank> PASS
Parsing origin: <#x> against <mailto:x@x.com> FAIL
Parsing origin: <gopher:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/..bar> against <about:blank> PASS
Parsing origin: <../aaa/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo%2©zbar> against <about:blank> PASS
Parsing origin: <http::b@www.example.com> against <about:blank> PASS
Parsing origin: <http://Go.com> against <http://other.com/> PASS
Parsing origin: <ftps:/example.com/> against <about:blank> FAIL
Parsing origin: <mailto:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo%> against <about:blank> PASS
Parsing origin: <https://:@test> against <about:blank> PASS
Parsing origin: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Parsing origin: </i> against <sc://ho/pa> FAIL
Parsing origin: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[::127.0.0.1]> against <http://example.org/foo/bar> PASS
Parsing origin: <javascript:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </:23> against <http://example.org/foo/bar> PASS
Parsing origin: <foo:/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://@pple.com> against <about:blank> PASS
Parsing origin: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Parsing origin: </test.txt> against <http://www.example.com/test> PASS
Parsing origin: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <::23> against <http://example.org/foo/bar> PASS
Parsing origin: <.> against <http://www.example.com/test> PASS
Parsing origin: <ftps:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://256.com> against <http://other.com/> PASS
Parsing origin: <foo:////://///> against <http://example.org/foo/bar> FAIL
Parsing origin: <madeupscheme:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <::> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http:\\www.google.com\foo> against <about:blank> PASS
Parsing origin: <?> against <http://example.org/foo/bar> PASS
Parsing origin: <foo://///////bar.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <mailto:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://f:/c> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:example.com/> against <about:blank> FAIL
Parsing origin: <> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#i> against <sc://ho/pa> FAIL
Parsing origin: <http://example.com/%20foo> against <about:blank> PASS
Parsing origin: </> against <http://www.example.com/test> PASS
Parsing origin: <tel:1234567890> against <http://example.org/foo/bar> FAIL
Parsing origin: <?i> against <sc:/pa/pa> FAIL
Parsing origin: <http:> against <http://example.org/foo/bar> PASS
Parsing origin: <wss://foo:80/> against <about:blank> PASS
Parsing origin: <data:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/%2e%2> against <about:blank> PASS
Parsing origin: <i> against <sc:///pa/pa> FAIL
Parsing origin: <../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <madeupscheme:/example.com/> against <about:blank> FAIL
Parsing origin: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo/./> against <about:blank> PASS
Parsing origin: <#> against <test:test?test> FAIL
Parsing origin: <http:/@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Parsing origin: <http://example.com/foo%41%7a> against <about:blank> PASS
Parsing origin: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Parsing origin: <http:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:81/> against <about:blank> PASS
Parsing origin: <ws:example.com/> against <about:blank> PASS
Parsing origin: <:a> against <http://example.org/foo/bar> PASS
Parsing origin: <https://foo:443/> against <about:blank> PASS
Parsing origin: <gopher:/example.com/> against <about:blank> PASS
Parsing origin: <javascript:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/@asdf%40> against <about:blank> PASS
Parsing origin: <http://::@c@d:2> against <http://example.org/foo/bar> PASS
Parsing origin: <> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/./.foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:///pa/pa> FAIL
Parsing origin: <:#> against <http://example.org/foo/bar> PASS
Parsing origin: </i> against <sc:///pa/pa> FAIL
Parsing origin: <http:/a:b@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:81/> against <about:blank> PASS
Parsing origin: <javascript:example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Parsing origin: <httpa://foo:80/> against <about:blank> FAIL
Parsing origin: <wss://foo:815/> against <about:blank> PASS
Parsing origin: <#> against <test:test> FAIL
Parsing origin: <data:text/html,test#test> against <http://example.org/foo/bar> PASS
Parsing origin: <http:/example.com/> against <about:blank> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Parsing origin: <http://f:0/c> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/bar/../> against <about:blank> PASS
Parsing origin: <:23> against <http://example.org/foo/bar> PASS
Parsing origin: <http://:b@www.example.com> against <about:blank> PASS
Parsing origin: <data:/example.com/> against <about:blank> PASS
Parsing origin: <?i> against <sc:///pa/pa> FAIL
Parsing origin: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:b@www.example.com> against <about:blank> PASS
Parsing origin: <#;?> against <http://example.org/foo/bar> PASS
/url/a-element-origin-xhtml.xhtml
Subtest Results
OK
Parsing origin: <about:/../> against <about:blank> PASS
Parsing origin: <javascript:/example.com/> against <about:blank> PASS
Parsing origin: <中/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <foo://> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Parsing origin: < \t> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www/foo/%2E/html> against <about:blank> PASS
Parsing origin: <./test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo/bar//../..> against <about:blank> PASS
Parsing origin: <http:foo.com> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <wss:/example.com/> against <about:blank> PASS
Parsing origin: <https:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd> FAIL
Parsing origin: <https:/example.com/> against <about:blank> PASS
Parsing origin: <wss:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <data:example.com/> against <about:blank> PASS
Parsing origin: <../i> against <sc://ho/pa> FAIL
Parsing origin: <#\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.@pple.com> against <about:blank> PASS
Parsing origin: <http://999999999> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo/../../..> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/你好你好> against <about:blank> PASS
Parsing origin: <http://4294967295> against <http://other.com/> PASS
Parsing origin: <http://www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Parsing origin: <http://example.com//foo> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2> against <about:blank> PASS
Parsing origin: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Parsing origin: <:> against <http://example.org/foo/bar> PASS
Parsing origin: <http:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Parsing origin: <test.txt> against <http://www.example.com/test> PASS
Parsing origin: <:foo.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/../../../ton> against <about:blank> PASS
Parsing origin: <h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg> against <about:blank> PASS
Parsing origin: <http://example.com/foo/.> against <about:blank> PASS
Parsing origin: <https:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:b@www.example.com> against <about:blank> PASS
Parsing origin: <https:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </> against <http://example.org/foo/bar> PASS
Parsing origin: <http://你好你好> against <http://other.com/> FAIL
Parsing origin: <http://www/foo%2Ehtml> against <about:blank> PASS
Parsing origin: <http://0Xc0.0250.01> against <http://other.com/> PASS
Parsing origin: <http:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#β> against <http://example.org/foo/bar> PASS
Parsing origin: <c:/foo> against <http://example.org/foo/bar> FAIL
Parsing origin: </a/ /c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://192.0x00A80001> against <about:blank> PASS
Parsing origin: <foo:/bar.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <#/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Parsing origin: <https://foo:80/> against <about:blank> PASS
Parsing origin: <http://example.com/foo%00%51> against <about:blank> FAIL
Loading data… PASS
Parsing origin: <ftps:example.com/> against <about:blank> FAIL
Parsing origin: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/%2e> against <about:blank> PASS
Parsing origin: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Parsing origin: <ws://foo:80/> against <about:blank> PASS
Parsing origin: <http://192.168.257.com> against <http://other.com/> PASS
Parsing origin: <http://0xffffffff> against <http://other.com/> PASS
Parsing origin: <http://example.com////../..> against <about:blank> PASS
Parsing origin: <//www.example2.com> against <http://www.example.com/test> PASS
Parsing origin: <http://:@www.example.com> against <about:blank> PASS
Parsing origin: <#> against <http://example.org/foo/bar> PASS
Parsing origin: <http::@c:29> against <http://example.org/foo/bar> PASS
Parsing origin: <http://999999999.com> against <http://other.com/> PASS
Parsing origin: <gopher:example.com/> against <about:blank> PASS
Parsing origin: <wss:example.com/> against <about:blank> PASS
Parsing origin: <#i> against <sc:sd/sd> FAIL
Parsing origin: <http://foo:80/> against <about:blank> PASS
Parsing origin: <data:test# »> against <about:blank> PASS
Parsing origin: <gopher:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/..> against <about:blank> PASS
Parsing origin: <mailto:/../> against <about:blank> FAIL
Parsing origin: < foo.com > against <http://example.org/foo/bar> PASS
Parsing origin: </a%2fc> against <http://example.org/foo/bar> PASS
Parsing origin: <ftp://foo:80/> against <about:blank> PASS
Parsing origin: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Parsing origin: <http://foo.com:b@d/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://256.256.256.256.256> against <http://other.com/> PASS
Parsing origin: <gopher://foo:70/> against <about:blank> PASS
Parsing origin: <http://example.com\\foo\\bar> against <about:blank> PASS
Parsing origin: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://a:@www.example.com> against <about:blank> PASS
Parsing origin: <ws:/example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/././foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:/pa/pa> FAIL
Parsing origin: <madeupscheme:example.com/> against <about:blank> FAIL
Parsing origin: </a/%2f/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/‥/foo> against <about:blank> PASS
Parsing origin: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo%2zbar> against <about:blank> PASS
Parsing origin: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:/example.com/> against <about:blank> FAIL
Parsing origin: <#x> against <about:blank> PASS
Parsing origin: <http:/:b@www.example.com> against <about:blank> PASS
Parsing origin: <http://192.168.257> against <http://other.com/> PASS
Parsing origin: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> PASS
Parsing origin: <..> against <http://www.example.com/test> PASS
Parsing origin: </i> against <sc:/pa/pa> FAIL
Parsing origin: <non-special://:@test/x> against <about:blank> FAIL
Parsing origin: <//foo/bar> against <http://example.org/foo/bar> PASS
Parsing origin: <../../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http:example.com/> against <about:blank> PASS
Parsing origin: <non-special://test:@test/x> against <about:blank> FAIL
Parsing origin: <sc://ñ.test/> against <about:blank> FAIL
Parsing origin: <ftp://foo:21/> against <about:blank> PASS
Parsing origin: <http://www.google.com/foo?bar=baz# »> against <about:blank> PASS
Parsing origin: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@@@example> against <http://doesnotmatter/> PASS
Parsing origin: <:\> against <http://example.org/foo/bar> PASS
Parsing origin: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Parsing origin: <?i> against <sc://ho/pa> FAIL
Parsing origin: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Parsing origin: <http://f:00000000000000/c> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://10000000000.com> against <http://other.com/> PASS
Parsing origin: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar//..> against <about:blank> PASS
Parsing origin: <javascript:/../> against <about:blank> PASS
Parsing origin: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Parsing origin: <i> against <sc://ho/pa> FAIL
Parsing origin: </a/b/c> against <http://example.org/foo/bar> PASS
Parsing origin: <i> against <sc:/pa/pa> FAIL
Parsing origin: <a:\t foo.com> against <http://example.org/foo/bar> FAIL
Parsing origin: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Parsing origin: <http://@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Parsing origin: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://www.foo。bar.com> against <http://other.com/> PASS
Parsing origin: <madeupscheme:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <:/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Parsing origin: <http://example.com/foo\t�%91> against <about:blank> PASS
Parsing origin: <data:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Parsing origin: <#i> against <sc:/pa/pa> FAIL
Parsing origin: <http://example.com/foo> against <about:blank> PASS
Parsing origin: <wss://foo:443/> against <about:blank> PASS
Parsing origin: <wss://foo:81/> against <about:blank> PASS
Parsing origin: <#x> against <data:,> PASS
Parsing origin: <foo://///////> against <http://example.org/foo/bar> FAIL
Parsing origin: <sc:\../> against <about:blank> FAIL
Parsing origin: <http://www.google.com> against <about:blank> PASS
Parsing origin: <sc::a@example.net> against <about:blank> FAIL
Parsing origin: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Parsing origin: <sc:> against <https://example.org/foo/bar> FAIL
Parsing origin: <ws:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <:foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <ftps:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <https://test:@test> against <about:blank> PASS
Parsing origin: <ftp:example.com/> against <about:blank> PASS
Parsing origin: <data:/../> against <about:blank> PASS
Parsing origin: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Parsing origin: </some/path> against <http://user@example.org/smth> PASS
Parsing origin: <ws://foo:815/> against <about:blank> PASS
Parsing origin: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Parsing origin: <http://256> against <http://other.com/> PASS
Parsing origin: <#i> against <sc:///pa/pa> FAIL
Parsing origin: <gopher://foo:443/> against <about:blank> PASS
Parsing origin: <http://example.com/foo\tbar> against <about:blank> PASS
Parsing origin: </some/path> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http:/a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:443/> against <about:blank> PASS
Parsing origin: <#x> against <mailto:x@x.com> FAIL
Parsing origin: <gopher:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/..bar> against <about:blank> PASS
Parsing origin: <../aaa/test.txt> against <http://www.example.com/test> PASS
Parsing origin: <http://example.com/foo%2©zbar> against <about:blank> PASS
Parsing origin: <http::b@www.example.com> against <about:blank> PASS
Parsing origin: <http://Go.com> against <http://other.com/> PASS
Parsing origin: <ftps:/example.com/> against <about:blank> FAIL
Parsing origin: <mailto:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo%> against <about:blank> PASS
Parsing origin: <https://:@test> against <about:blank> PASS
Parsing origin: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Parsing origin: </i> against <sc://ho/pa> FAIL
Parsing origin: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Parsing origin: <http://[::127.0.0.1]> against <http://example.org/foo/bar> PASS
Parsing origin: <javascript:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: </:23> against <http://example.org/foo/bar> PASS
Parsing origin: <foo:/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://@pple.com> against <about:blank> PASS
Parsing origin: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Parsing origin: </test.txt> against <http://www.example.com/test> PASS
Parsing origin: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <::23> against <http://example.org/foo/bar> PASS
Parsing origin: <.> against <http://www.example.com/test> PASS
Parsing origin: <ftps:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://256.com> against <http://other.com/> PASS
Parsing origin: <foo:////://///> against <http://example.org/foo/bar> FAIL
Parsing origin: <madeupscheme:example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <::> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:@www.example.com> against <about:blank> PASS
Parsing origin: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http:\\www.google.com\foo> against <about:blank> PASS
Parsing origin: <?> against <http://example.org/foo/bar> PASS
Parsing origin: <foo://///////bar.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <mailto:/example.com/> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://f:/c> against <http://example.org/foo/bar> PASS
Parsing origin: <mailto:example.com/> against <about:blank> FAIL
Parsing origin: <> against <http://user:pass@example.org:21/smth> PASS
Parsing origin: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Parsing origin: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <#i> against <sc://ho/pa> FAIL
Parsing origin: <http://example.com/%20foo> against <about:blank> PASS
Parsing origin: </> against <http://www.example.com/test> PASS
Parsing origin: <tel:1234567890> against <http://example.org/foo/bar> FAIL
Parsing origin: <?i> against <sc:/pa/pa> FAIL
Parsing origin: <http:> against <http://example.org/foo/bar> PASS
Parsing origin: <wss://foo:80/> against <about:blank> PASS
Parsing origin: <data:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/foo/%2e%2> against <about:blank> PASS
Parsing origin: <i> against <sc:///pa/pa> FAIL
Parsing origin: <../test.txt> against <http://www.example.com/test> PASS
Parsing origin: <madeupscheme:/example.com/> against <about:blank> FAIL
Parsing origin: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Parsing origin: <http://example.com/foo/./> against <about:blank> PASS
Parsing origin: <#> against <test:test?test> FAIL
Parsing origin: <http:/@www.example.com> against <about:blank> PASS
Parsing origin: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Parsing origin: <http://example.com/foo%41%7a> against <about:blank> PASS
Parsing origin: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Parsing origin: <http:/example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <ws://foo:81/> against <about:blank> PASS
Parsing origin: <ws:example.com/> against <about:blank> PASS
Parsing origin: <:a> against <http://example.org/foo/bar> PASS
Parsing origin: <https://foo:443/> against <about:blank> PASS
Parsing origin: <gopher:/example.com/> against <about:blank> PASS
Parsing origin: <javascript:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/@asdf%40> against <about:blank> PASS
Parsing origin: <http://::@c@d:2> against <http://example.org/foo/bar> PASS
Parsing origin: <> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/./.foo> against <about:blank> PASS
Parsing origin: <../i> against <sc:///pa/pa> FAIL
Parsing origin: <:#> against <http://example.org/foo/bar> PASS
Parsing origin: </i> against <sc:///pa/pa> FAIL
Parsing origin: <http:/a:b@www.example.com> against <about:blank> PASS
Parsing origin: <http://foo:81/> against <about:blank> PASS
Parsing origin: <javascript:example.com/> against <about:blank> PASS
Parsing origin: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Parsing origin: <httpa://foo:80/> against <about:blank> FAIL
Parsing origin: <wss://foo:815/> against <about:blank> PASS
Parsing origin: <#> against <test:test> FAIL
Parsing origin: <data:text/html,test#test> against <http://example.org/foo/bar> PASS
Parsing origin: <http:/example.com/> against <about:blank> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Parsing origin: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Parsing origin: <http://f:0/c> against <http://example.org/foo/bar> FAIL
Parsing origin: <http://example.com/foo/bar/../> against <about:blank> PASS
Parsing origin: <:23> against <http://example.org/foo/bar> PASS
Parsing origin: <http://:b@www.example.com> against <about:blank> PASS
Parsing origin: <data:/example.com/> against <about:blank> PASS
Parsing origin: <?i> against <sc:///pa/pa> FAIL
Parsing origin: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Parsing origin: <http:a:b@www.example.com> against <about:blank> PASS
Parsing origin: <#;?> against <http://example.org/foo/bar> PASS
/url/a-element.html
Subtest Results
ERROR

@Sebmaster
Copy link
Contributor

There are a few issues with these:

  1) Web platform tests parsing </> against <file:///C:/a/b>:

      AssertionError: href
      + expected - actual

      -file:///C:/
      +file:///

      at Context.<anonymous> (test/web-platform.js:20:12)

  2) Web platform tests parsing <//d:> against <file:///C:/a/b>:

      AssertionError: href
      + expected - actual

      -file:///d:
      +file://d:/

      at Context.<anonymous> (test/web-platform.js:20:12)

  3) Web platform tests parsing <//d:/..> against <file:///C:/a/b>:

      AssertionError: href
      + expected - actual

      -file:///d:/
      +file://d:/

      at Context.<anonymous> (test/web-platform.js:20:12)

Pretty sure the second and third one are correct failures, not quite sure about the first one.

@domenic
Copy link
Member

domenic commented Dec 22, 2016

Not sure exactly what you mean by "correct failures" @Sebmaster, but I agree with jsdom/whatwg-url that the first result should be file:///C:/. I don't really know what things of the form //driveletter: are supposed to do, but I trust jsdom/whatwg-url, so the "actual" results are probably correct. I think at least the spec takes great pains to ensure that there are always three slashes after file:

@Sebmaster
Copy link
Contributor

"correct failures" as in: I'm pretty sure what whatwg-url does is correct here, mainly because of the triple slash thing (also because Chrome agrees with that resolution too).

@zcorpan
Copy link
Member Author

zcorpan commented Jan 2, 2017

I guess I was confused by reading the spec. But would be nice with confirmation from @annevk that the expected results are actually per spec.

@@ -4587,5 +4587,76 @@
"pathname": "/",
"search": "",
"hash": ""
},
"# More file URL tests by zcorpan",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we put the author here? Should I do that too?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just wanted to separate these tests from the ones above to direct any blame at me, but of course git blame works too. Can remove it though.

{
"input": "//d:",
"base": "file:///C:/a/b",
"href": "file:///d:",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should end in a slash, no?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://url.spec.whatwg.org/#file-state "/"
https://url.spec.whatwg.org/#file-slash-state "/"
https://url.spec.whatwg.org/#file-host-state "d:" appended to buffer, then EOF. Buffer is a Windows drive letter.
https://url.spec.whatwg.org/#path-state step 1.4.2 appends buffer to path, without adding a trailing slash.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems correct, but then pathname wouldn't end in a "/" either. It's also not entirely clear to me that is the desired outcome.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@domenic domenic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot to fixup some pathnames. Let me push an extra commit...

@@ -4652,7 +4652,7 @@
{
"input": "/",
"base": "file:///C:/a/b",
"href": "file:///",
"href": "file:///C:/",
"protocol": "file:",
"username": "",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pathname should be "/C:/" not "/"

@@ -4666,7 +4666,7 @@
{
"input": "//d:",
"base": "file:///C:/a/b",
"href": "file://d:/",
"href": "file:///d:",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pathname should be "/d:" not "/d:/"

@domenic
Copy link
Member

domenic commented Jan 10, 2017

@annevk all looks good to me now. Can we merge this, and deal with whatwg/url#193 as a follow-up?

@annevk
Copy link
Member

annevk commented Jan 11, 2017

I think that's reasonable. Will let @zcorpan merge in case there was anything else.

@zcorpan zcorpan merged commit 462ac9f into master Jan 11, 2017
@zcorpan zcorpan deleted the zcorpan/more-file-url branch January 11, 2017 18:21
watilde added a commit to watilde/node that referenced this pull request Feb 13, 2017
jasnell pushed a commit to nodejs/node that referenced this pull request Feb 17, 2017
Added at the following PR:
* web-platform-tests/wpt#4382
* web-platform-tests/wpt#4700

PR-URL: #11123
Fixes: #10978
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
italoacasas pushed a commit to italoacasas/node that referenced this pull request Feb 20, 2017
Added at the following PR:
* web-platform-tests/wpt#4382
* web-platform-tests/wpt#4700

PR-URL: nodejs#11123
Fixes: nodejs#10978
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
italoacasas pushed a commit to nodejs/node that referenced this pull request Feb 22, 2017
Added at the following PR:
* web-platform-tests/wpt#4382
* web-platform-tests/wpt#4700

PR-URL: #11123
Fixes: #10978
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants