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

File URLs with repeated slsashes #4762

Closed
wants to merge 1 commit into from

Conversation

watilde
Copy link
Contributor

@watilde watilde commented Feb 8, 2017

@wpt-pr-bot
Copy link
Collaborator

Notifying @Sebmaster, @domenic, @mikewest, @rubys, @sideshowbarker, @smola, @tomalec, @xiaojunwu, and @zcorpan. (Learn how reviewing works.)

These tests will be available on w3c-test.org shortly after they are approved by a repository collaborator.

@ghost
Copy link

ghost commented Feb 8, 2017

Chrome (unstable channel)

Testing web-platform-tests at revision 81bc17b
Using browser at version 58.0.3004.3 dev
Starting 10 test iterations
All results were stable

All results

/url/url-constructor.html
Subtest Results
ERROR
/url/url-origin.html
Subtest Results
OK
Origin parsing: <about:/../> against <about:blank> PASS
Origin parsing: <test.txt> against <http://www.example.com/test> PASS
Origin parsing: <中/test.txt> against <http://www.example.com/test> PASS
Origin parsing: <foo://> against <http://example.org/foo/bar> FAIL
Origin parsing: <http://[2001::1]:80> against <http://example.org/foo/bar> PASS
Origin parsing: < \t> against <http://example.org/foo/bar> PASS
Origin parsing: <http://www/foo/%2E/html> against <about:blank> PASS
Origin parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank> PASS
Origin parsing: <?x> against <sc://ñ> FAIL
Origin parsing: <./test.txt> against <http://www.example.com/test> PASS
Origin parsing: <tag:joe@example.org,2001:foo/bar> against <about:blank> FAIL
Origin parsing: <http:foo.com> against <http://example.org/foo/bar> PASS
Origin parsing: <wss:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <wss:/example.com/> against <about:blank> PASS
Origin parsing: <https:example.com/> against <about:blank> PASS
Origin parsing: <#i> against <sc:sd> FAIL
Origin parsing: <https:/example.com/> against <about:blank> PASS
Origin parsing: <wss:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <data:example.com/> against <about:blank> PASS
Origin parsing: <../i> against <sc://ho/pa> FAIL
Origin parsing: <#\> against <http://example.org/foo/bar> PASS
Origin parsing: <http://www.@pple.com> against <about:blank> PASS
Origin parsing: <http://999999999> against <http://other.com/> PASS
Origin parsing: <http://example.com/foo/../../..> against <about:blank> PASS
Origin parsing: <http://example.com/‥/foo> against <about:blank> PASS
Origin parsing: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <sc://ñ> against <about:blank> FAIL
Origin parsing: <sc:\../> against <about:blank> FAIL
Origin parsing: <http://example.com//foo> against <about:blank> PASS
Origin parsing: <ftp:/example.com/> against <about:blank> PASS
Origin parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank> FAIL
Origin parsing: <http://example.com/foo%2> against <about:blank> PASS
Origin parsing: <#i> against <sc://ho/pa> FAIL
Origin parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> FAIL
Origin parsing: <http://foo.com/\@> against <http://example.org/foo/bar> PASS
Origin parsing: <:> against <http://example.org/foo/bar> PASS
Origin parsing: <http:@www.example.com> against <about:blank> PASS
Origin parsing: <:foo.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/../../../ton> against <about:blank> PASS
Origin 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
Origin parsing: <http://example.com/foo/.> against <about:blank> PASS
Origin parsing: <https:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://256.256.256.256.256> against <http://other.com/> PASS
Origin parsing: <?i> against <sc://ho/pa> FAIL
Origin parsing: <http://a:b@www.example.com> against <about:blank> PASS
Origin parsing: <https:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: </> against <http://example.org/foo/bar> PASS
Origin parsing: <http://你好你好> against <http://other.com/> FAIL
Origin parsing: </test.txt> against <http://www.example.com/test> PASS
Origin parsing: <http://0Xc0.0250.01> against <http://other.com/> PASS
Origin parsing: <http:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <#β> against <http://example.org/foo/bar> PASS
Origin parsing: <c:/foo> against <http://example.org/foo/bar> FAIL
Origin parsing: </a/ /c> against <http://example.org/foo/bar> PASS
Origin parsing: <http://192.0x00A80001> against <about:blank> PASS
Origin parsing: <foo:/bar.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <http://www.google.com/foo?bar=baz#> against <about:blank> PASS
Origin parsing: <https://foo:80/> against <about:blank> PASS
Origin parsing: <http://192.168.257> against <http://other.com/> PASS
Origin parsing: <http://example.com/foo%00%51> against <about:blank> FAIL
Origin parsing: <#/> against <http://example.org/foo/bar> PASS
Origin parsing: <ftps:example.com/> against <about:blank> FAIL
Origin parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/%2e> against <about:blank> PASS
Origin parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> PASS
Origin parsing: <http://@pple.com> against <about:blank> PASS
Origin parsing: <http://192.168.257.com> against <http://other.com/> PASS
Origin parsing: <http://0xffffffff> against <http://other.com/> PASS
Origin parsing: <http://example.com////../..> against <about:blank> PASS
Origin parsing: <//www.example2.com> against <http://www.example.com/test> PASS
Origin parsing: <http://:@www.example.com> against <about:blank> PASS
Origin parsing: <#> against <http://example.org/foo/bar> PASS
Origin parsing: <http::@c:29> against <http://example.org/foo/bar> PASS
Origin parsing: <gopher:example.com/> against <about:blank> PASS
Origin parsing: <wss:example.com/> against <about:blank> PASS
Origin parsing: <#i> against <sc:sd/sd> FAIL
Origin parsing: <git+https://github.com/foo/bar> against <about:blank> FAIL
Origin parsing: <http://foo:80/> against <about:blank> PASS
Origin parsing: <gopher:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/bar/..> against <about:blank> PASS
Origin parsing: <mailto:/../> against <about:blank> FAIL
Origin parsing: < foo.com > against <http://example.org/foo/bar> PASS
Origin parsing: </a%2fc> against <http://example.org/foo/bar> PASS
Origin parsing: <ftp://foo:80/> against <about:blank> PASS
Origin parsing: <\t :foo.com \n> against <http://example.org/foo/bar> PASS
Origin parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar> PASS
Origin parsing: <telnet://user:pass@foobar.com:23/> against <about:blank> FAIL
Origin parsing: <gopher://foo:70/> against <about:blank> PASS
Origin parsing: <http://example.com\\foo\\bar> against <about:blank> PASS
Origin parsing: <??a=b&c=d> against <http://example.org/foo/bar> PASS
Origin parsing: <http://a:@www.example.com> against <about:blank> PASS
Origin parsing: <http://example.com/foo\t�%91> against <about:blank> PASS
Origin parsing: <http://example.com/././foo> against <about:blank> PASS
Origin parsing: <../i> against <sc:/pa/pa> FAIL
Origin parsing: <madeupscheme:example.com/> against <about:blank> FAIL
Origin parsing: </a/%2f/c> against <http://example.org/foo/bar> PASS
Origin parsing: <sc://ñ#x> against <about:blank> FAIL
Origin parsing: <http://[0:0:0:0:0:0:13.1.68.3]> against <http://example.org/foo/bar> PASS
Origin parsing: <http://foo.bar/baz?qux#foo�bar> against <about:blank> PASS
Origin parsing: <http://example.com/foo%2zbar> against <about:blank> PASS
Origin parsing: <rsync://foo@host:911/sup> against <about:blank> FAIL
Origin parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> PASS
Origin parsing: <mailto:/example.com/> against <about:blank> FAIL
Origin parsing: <#x> against <about:blank> PASS
Origin parsing: <.> against <http://www.example.com/test> PASS
Origin parsing: <sc:> against <https://example.org/foo/bar> FAIL
Origin parsing: <http:/:b@www.example.com> against <about:blank> PASS
Origin parsing: <data:/../> against <about:blank> PASS
Origin parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> PASS
Origin parsing: <..> against <http://www.example.com/test> PASS
Origin parsing: </i> against <sc:/pa/pa> FAIL
Origin parsing: <non-special://:@test/x> against <about:blank> FAIL
Origin parsing: <//foo/bar> against <http://example.org/foo/bar> PASS
Origin parsing: <../../test.txt> against <http://www.example.com/test> PASS
Origin parsing: <git://github.com/foo/bar.git> against <about:blank> FAIL
Origin parsing: <http:example.com/> against <about:blank> PASS
Origin parsing: <non-special://test:@test/x> against <about:blank> FAIL
Origin parsing: <ftp://foo:21/> against <about:blank> PASS
Origin parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank> PASS
Origin parsing: <http://example\t.\norg> against <http://example.org/foo/bar> PASS
Origin parsing: <https://@@@example> against <http://doesnotmatter/> PASS
Origin parsing: <:\> against <http://example.org/foo/bar> PASS
Origin parsing: <http:> against <http://example.org/foo/bar> PASS
Origin parsing: <[61:24:74]:98> against <http://example.org/foo/bar> PASS
Origin parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar> FAIL
Origin parsing: <../i> against <sc:///pa/pa> FAIL
Origin parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/bar//..> against <about:blank> PASS
Origin parsing: <javascript:/../> against <about:blank> PASS
Origin parsing: <https://localhost:3000/jqueryui@1.2.3> against <about:blank> PASS
Origin parsing: </a/b/c> against <http://example.org/foo/bar> PASS
Origin parsing: <i> against <sc:/pa/pa> FAIL
Origin parsing: <i> against <sc://ho/pa> FAIL
Origin parsing: <sc://ñ.test/> against <about:blank> FAIL
Origin parsing: <a:\t foo.com> against <http://example.org/foo/bar> FAIL
Origin parsing: <?a=b&c=d> against <http://example.org/foo/bar> PASS
Origin parsing: <http://@www.example.com> against <about:blank> PASS
Origin parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> PASS
Origin parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> PASS
Origin parsing: <http://www.foo。bar.com> against <http://other.com/> PASS
Origin parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <:/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://GOO​⁠goo.com> against <http://other.com/> PASS
Origin parsing: <x> against <sc://ñ> FAIL
Origin parsing: <data:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank> PASS
Origin parsing: <#i> against <sc:/pa/pa> FAIL
Origin parsing: <http://example.com/foo> against <about:blank> PASS
Origin parsing: <#> against <test:test?test> FAIL
Origin parsing: <wss://foo:443/> against <about:blank> PASS
Origin parsing: <#x> against <data:,> PASS
Origin parsing: <foo://///////> against <http://example.org/foo/bar> FAIL
Origin parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> FAIL
Origin parsing: <http://999999999.com> against <http://other.com/> PASS
Origin parsing: <http://www.google.com> against <about:blank> PASS
Origin parsing: <sc::a@example.net> against <about:blank> FAIL
Origin parsing: <http://[2001::1]> against <http://example.org/foo/bar> PASS
Origin parsing: </i> against <sc://ho/pa> FAIL
Origin parsing: <ws:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <:foo.com\> against <http://example.org/foo/bar> PASS
Origin parsing: <urn:ietf:rfc:2648> against <about:blank> FAIL
Origin parsing: <ftps:example.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <https://%e2%98%83> against <about:blank> FAIL
Origin parsing: <http://www/foo%2Ehtml> against <about:blank> PASS
Origin parsing: <https://test:@test> against <about:blank> PASS
Origin parsing: <ftp:example.com/> against <about:blank> PASS
Origin parsing: <http://256.com> against <http://other.com/> PASS
Origin parsing: <http://example.com/foo/bar//../..> against <about:blank> PASS
Origin parsing: </some/path> against <http://user@example.org/smth> PASS
Origin parsing: <ws://foo:815/> against <about:blank> PASS
Origin parsing: <http://\{}:`{}@h/`{}?`{}> against http://doesnotmatter/` PASS
Origin parsing: <http://256> against <http://other.com/> PASS
Origin parsing: <http://example.com/(%28:%3A%29)> against <about:blank> PASS
Origin parsing: <#i> against <sc:///pa/pa> FAIL
Origin parsing: <ftp://%e2%98%83> against <about:blank> FAIL
Origin parsing: <gopher://foo:443/> against <about:blank> PASS
Origin parsing: <http://example.com/foo\tbar> against <about:blank> PASS
Origin parsing: </some/path> against <http://user:pass@example.org:21/smth> PASS
Origin parsing: <http:/a:@www.example.com> against <about:blank> PASS
Origin parsing: <> against <http://user:pass@example.org:21/smth> PASS
Origin parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> PASS
Origin parsing: <ws://foo:443/> against <about:blank> PASS
Origin parsing: <#x> against <mailto:x@x.com> FAIL
Origin parsing: <gopher:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/..bar> against <about:blank> PASS
Origin parsing: <../aaa/test.txt> against <http://www.example.com/test> PASS
Origin parsing: <http://10000000000.com> against <http://other.com/> PASS
Origin parsing: <javascript:/example.com/> against <about:blank> PASS
Origin parsing: <http://example.com/foo%2©zbar> against <about:blank> PASS
Origin parsing: <http::b@www.example.com> against <about:blank> PASS
Origin parsing: <http://Go.com> against <http://other.com/> PASS
Origin parsing: <ftps:/example.com/> against <about:blank> FAIL
Origin parsing: <mailto:example.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <http://example.com/foo%> against <about:blank> PASS
Origin parsing: <https://:@test> against <about:blank> PASS
Origin parsing: <http://ExAmPlE.CoM> against <http://other.com/> PASS
Origin parsing: <http:\\foo.com\> against <http://example.org/foo/bar> PASS
Origin parsing: <http://[::127.0.0.1]> against <http://example.org/foo/bar> PASS
Origin parsing: <javascript:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <sc://ñ?x> against <about:blank> FAIL
Origin parsing: </:23> against <http://example.org/foo/bar> PASS
Origin parsing: <data:test# »> against <about:blank> PASS
Loading data… PASS
Origin parsing: <foo:/> against <http://example.org/foo/bar> FAIL
Origin parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> PASS
Origin parsing: <ws:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <::23> against <http://example.org/foo/bar> PASS
Origin parsing: <ftps:/example.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <https://@test@test@example:800/> against <http://doesnotmatter/> PASS
Origin parsing: <foo:////://///> against <http://example.org/foo/bar> FAIL
Origin parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <::> against <http://example.org/foo/bar> PASS
Origin parsing: <http:a:@www.example.com> against <about:blank> PASS
Origin parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> PASS
Origin parsing: <http:\\www.google.com\foo> against <about:blank> PASS
Origin parsing: <?> against <http://example.org/foo/bar> PASS
Origin parsing: <foo://///////bar.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> PASS
Origin parsing: <mailto:/example.com/> against <http://example.org/foo/bar> FAIL
Origin parsing: <http://f:/c> against <http://example.org/foo/bar> PASS
Origin parsing: <mailto:example.com/> against <about:blank> FAIL
Origin parsing: <madeupscheme:/example.com/> against <about:blank> FAIL
Origin parsing: <http://f:\n/c> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/bar/../ton> against <about:blank> PASS
Origin parsing: <ftp:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> FAIL
Origin parsing: <http://example.com/%20foo> against <about:blank> PASS
Origin parsing: </> against <http://www.example.com/test> PASS
Origin parsing: <tel:1234567890> against <http://example.org/foo/bar> FAIL
Origin parsing: <?i> against <sc:/pa/pa> FAIL
Origin parsing: <wss://foo:80/> against <about:blank> PASS
Origin parsing: <data:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/foo/%2e%2> against <about:blank> PASS
Origin parsing: <#x> against <sc://ñ> FAIL
Origin parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> FAIL
Origin parsing: <i> against <sc:///pa/pa> FAIL
Origin parsing: <../test.txt> against <http://www.example.com/test> PASS
Origin parsing: <http://example.com/‮/foo/‭/bar> against <about:blank> PASS
Origin parsing: <wss://foo:81/> against <about:blank> PASS
Origin parsing: <http://example.com/foo/./> against <about:blank> PASS
Origin parsing: <http:/@www.example.com> against <about:blank> PASS
Origin parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank> PASS
Origin parsing: </i> against <sc:///pa/pa> FAIL
Origin parsing: <http://example.com/foo%41%7a> against <about:blank> PASS
Origin parsing: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> PASS
Origin parsing: <http:/example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <ws:/example.com/> against <about:blank> PASS
Origin parsing: <ws://foo:81/> against <about:blank> PASS
Origin parsing: <ws:example.com/> against <about:blank> PASS
Origin parsing: <:a> against <http://example.org/foo/bar> PASS
Origin parsing: <https://foo:443/> against <about:blank> PASS
Origin parsing: <http://foo:💩@example.com/bar> against <http://other.com/> PASS
Origin parsing: <sc://�!"$&'()*+,-.;<=>^_\{ }~/> against about:blank`
Origin parsing: <gopher:/example.com/> against <about:blank> PASS
Origin parsing: <javascript:example.com/> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/@asdf%40> against <about:blank> PASS
Origin parsing: <http://::@c@d:2> against <http://example.org/foo/bar> PASS
Origin parsing: <http://example.com/你好你好> against <about:blank> PASS
Origin parsing: <> against <http://example.org/foo/bar> PASS
Origin parsing: <http://4294967295> against <http://other.com/> PASS
Origin parsing: <http://example.com/./.foo> against <about:blank> PASS
Origin parsing: <http://www.example2.com> against <http://www.example.com/test> PASS
Origin parsing: <ws://foo:80/> against <about:blank> PASS
Origin parsing: <:#> against <http://example.org/foo/bar> PASS
Origin parsing: <http:/a:b@www.example.com> against <about:blank> PASS
Origin parsing: <http://foo:81/> against <about:blank> PASS
Origin parsing: <javascript:example.com/> against <about:blank> PASS
Origin parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank> PASS
Origin parsing: <httpa://foo:80/> against <about:blank> FAIL
Origin parsing: <wss://foo:815/> against <about:blank> PASS
Origin parsing: <#> against <test:test> FAIL
Origin parsing: <data:text/html,test#test> against <http://example.org/foo/bar> PASS
Origin parsing: <http:/example.com/> against <about:blank> PASS
Origin parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> PASS
Origin parsing: <http://f:0/c> against <http://example.org/foo/bar> FAIL
Origin parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> FAIL
Origin parsing: <http://example.com/foo/bar/../> against <about:blank> PASS
Origin parsing: <:23> against <http://example.org/foo/bar> PASS
Origin parsing: <http://:b@www.example.com> against <about:blank> PASS
Origin parsing: <http://[1:0::]> against <http://example.net/> PASS
Origin parsing: <data:/example.com/> against <about:blank> PASS
Origin parsing: <?i> against <sc:///pa/pa> FAIL
Origin parsing: <http:[61:27]/:foo> against <http://example.org/foo/bar> PASS
Origin parsing: <http:a:b@www.example.com> against <about:blank> PASS
Origin parsing: <#;?> against <http://example.org/foo/bar> PASS
/url/a-element-xhtml.xhtml
Subtest Results
ERROR
/url/a-element.html
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: <?x> against <sc://ñ> 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: <tag:joe@example.org,2001:foo/bar> against <about:blank> FAIL
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: <rsync://foo@host:911/sup> against <about:blank> FAIL
Parsing origin: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/你好你好> against <about:blank> PASS
Parsing origin: <sc://ñ> against <about:blank> FAIL
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: <irc://myserver.com:6999/channel?passwd> against <about:blank> FAIL
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: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> FAIL
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: <git+https://github.com/foo/bar> against <about:blank> 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: <urn:ietf:rfc:2648> against <about:blank> FAIL
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: <sc://ñ#x> against <about:blank> FAIL
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: <git://github.com/foo/bar.git> against <about:blank> FAIL
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://[1:0::]> against <http://example.net/> 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: <x> against <sc://ñ> 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: <#x> against <sc://ñ> 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: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> 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://%e2%98%83> against <about:blank> 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:> against <http://example.org/foo/bar> PASS
Parsing origin: <http::b@www.example.com> against <about:blank> PASS
Parsing origin: <telnet://user:pass@foobar.com:23/> against <about:blank> FAIL
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: <sc://ñ?x> against <about:blank> FAIL
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: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> 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: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> FAIL
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: <sc://�!"$&'()*+,-.;<=>^_\{ }~/> against about:blank`
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: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> FAIL
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: <ftp://%e2%98%83> against <about:blank> FAIL
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: <?x> against <sc://ñ> 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: <tag:joe@example.org,2001:foo/bar> against <about:blank> FAIL
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: <rsync://foo@host:911/sup> against <about:blank> FAIL
Parsing origin: <ftp:example.com/> against <http://example.org/foo/bar> PASS
Parsing origin: <http://example.com/你好你好> against <about:blank> PASS
Parsing origin: <sc://ñ> against <about:blank> FAIL
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: <irc://myserver.com:6999/channel?passwd> against <about:blank> FAIL
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: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank> FAIL
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: <git+https://github.com/foo/bar> against <about:blank> 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: <urn:ietf:rfc:2648> against <about:blank> FAIL
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: <sc://ñ#x> against <about:blank> FAIL
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: <git://github.com/foo/bar.git> against <about:blank> FAIL
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://[1:0::]> against <http://example.net/> 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: <x> against <sc://ñ> 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: <#x> against <sc://ñ> 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: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank> 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://%e2%98%83> against <about:blank> 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:> against <http://example.org/foo/bar> PASS
Parsing origin: <http::b@www.example.com> against <about:blank> PASS
Parsing origin: <telnet://user:pass@foobar.com:23/> against <about:blank> FAIL
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: <sc://ñ?x> against <about:blank> FAIL
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: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank> 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: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank> FAIL
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: <sc://�!"$&'()*+,-.;<=>^_\{ }~/> against about:blank`
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: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank> FAIL
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: <ftp://%e2%98%83> against <about:blank> FAIL
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

"input": "file:////////",
"base": "about:blank",
"href": "file:///",
"origin": "null",
Copy link
Member

Choose a reason for hiding this comment

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

Origin should be omitted for file URL tests because of https://url.spec.whatwg.org/#origin's "exercise for the reader"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oops, I misunderstood about it. Thanks, I've updated :)

watilde added a commit to watilde/url that referenced this pull request Feb 8, 2017
Repeated slashes should be ignored in not only the http scheme, but
also the file scheme as well.

Tests: web-platform-tests/wpt#4762

Fixes: whatwg#232
@annevk
Copy link
Member

annevk commented Feb 8, 2017

These look good. Maybe also a mixture of \ and /? And also one with \ ending in a non-?

@annevk
Copy link
Member

annevk commented Feb 8, 2017

It also seems you need to rebase, probably due to other tests landing :/ If that's too problematic I can do that for you tomorrow.

@ghost
Copy link

ghost commented Feb 8, 2017

Firefox (nightly channel)

Testing web-platform-tests at revision 9d1298b1106ef1d4d8e274286bbcc55df608f0f2
Using browser at version BuildID 20170123125947; SourceStamp 36486fdc3813ef7943ae5b07b4128866d1938a6c
Starting 10 test iterations
All results were stable

All results

/url/url-constructor.html
Subtest Results
OK
URL.searchParams getter PASS
URL.searchParams setter, invalid values PASS
URL.searchParams and URL.search setters, update propagation PASS
URL.searchParams updating, clearing PASS
Loading data… FAIL
/url/url-origin.html
Subtest Results
OK
Loading data… FAIL
/url/a-element-xhtml.xhtml
Subtest Results
OK
Loading data… FAIL
/url/a-element.html
Subtest Results
OK
Loading data… FAIL
/url/a-element-origin.html
Subtest Results
OK
Loading data… FAIL
/url/a-element-origin-xhtml.xhtml
Subtest Results
OK
Loading data… FAIL

Related links
+ The URL Standard change: whatwg/url#234
+ The original bug report: whatwg/url#232
@watilde
Copy link
Contributor Author

watilde commented Feb 9, 2017

@annevk Rebase is done, but I couldn't get \ ending in a non-. Is it like file:\\\\\\\\foo\\bar\\...?

@annevk
Copy link
Member

annevk commented Feb 9, 2017

It seems GitHub ate the slash. I meant non-\.

Also whatwg/url#232 (comment) makes some very good points that need to be addressed one way or another.

@annevk
Copy link
Member

annevk commented Feb 9, 2017

Apart from that comment by @rmisev, I think we should also test a non-null file base URL with and without a host, and then various forms of slashed input (with/without localhost) against that.

Hope this is not too discouraging. Also, there's no rush whatsoever, we should take our time to get this right.

annevk added a commit that referenced this pull request Mar 22, 2017
Closes #4762 by superseding it.

URL Standard: whatwg/url#232.
@annevk annevk closed this in #5195 Mar 29, 2017
annevk added a commit that referenced this pull request Mar 29, 2017
Closes #4762 by superseding it.

URL Standard: whatwg/url#232.
@watilde watilde deleted the test-file-slashes branch July 20, 2018 01:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants