Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants