PASS Parsing: < :foo.com
> against <http://example.org/foo/bar>
PASS Parsing: < foo.com > against <http://example.org/foo/bar>
-FAIL Parsing: <a: foo.com> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "a://"
+PASS Parsing: <a: foo.com> against <http://example.org/foo/bar>
PASS Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar>
PASS Parsing: <http://f:/c> against <http://example.org/foo/bar>
PASS Parsing: <http://f:0/c> against <http://example.org/foo/bar>
PASS Parsing: <http://foo.com/\@> against <http://example.org/foo/bar>
PASS Parsing: <http:\\foo.com\> against <http://example.org/foo/bar>
PASS Parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar>
-FAIL Parsing: <foo:/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "foo://"
-FAIL Parsing: <foo:/bar.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "foo://"
-FAIL Parsing: <foo://///////> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "foo://"
-FAIL Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "foo://"
-FAIL Parsing: <foo:////://///> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "foo://"
-FAIL Parsing: <c:/foo> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "c://"
+PASS Parsing: <foo:/> against <http://example.org/foo/bar>
+PASS Parsing: <foo:/bar.com/> against <http://example.org/foo/bar>
+PASS Parsing: <foo://///////> against <http://example.org/foo/bar>
+PASS Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar>
+PASS Parsing: <foo:////://///> against <http://example.org/foo/bar>
+PASS Parsing: <c:/foo> against <http://example.org/foo/bar>
PASS Parsing: <//foo/bar> against <http://example.org/foo/bar>
PASS Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar>
PASS Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar>
PASS Parsing: <http:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <ftp:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <https:/example.com/> against <http://example.org/foo/bar>
-FAIL Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "madeupscheme://"
+PASS Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <file:/example.com/> against <http://example.org/foo/bar>
-FAIL Parsing: <ftps:/example.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "ftps://"
+PASS Parsing: <ftps:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <gopher:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <ws:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <wss:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <data:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <javascript:/example.com/> against <http://example.org/foo/bar>
-FAIL Parsing: <mailto:/example.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "mailto://"
+PASS Parsing: <mailto:/example.com/> against <http://example.org/foo/bar>
PASS Parsing: <http:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <ftp:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <https:example.com/> against <http://example.org/foo/bar>
-FAIL Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "madeupscheme://"
-FAIL Parsing: <ftps:example.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "ftps://"
+PASS Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar>
+PASS Parsing: <ftps:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <gopher:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <ws:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <wss:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <data:example.com/> against <http://example.org/foo/bar>
PASS Parsing: <javascript:example.com/> against <http://example.org/foo/bar>
-FAIL Parsing: <mailto:example.com/> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "mailto://"
+PASS Parsing: <mailto:example.com/> against <http://example.org/foo/bar>
PASS Parsing: </a/b/c> against <http://example.org/foo/bar>
PASS Parsing: </a/ /c> against <http://example.org/foo/bar>
PASS Parsing: </a%2fc> against <http://example.org/foo/bar>
PASS Parsing: </a/%2f/c> against <http://example.org/foo/bar>
FAIL Parsing: <#β> against <http://example.org/foo/bar> assert_equals: href expected "http://example.org/foo/bar#β" but got "http://example.org/foo/bar#%CE%B2"
PASS Parsing: <data:text/html,test#test> against <http://example.org/foo/bar>
-FAIL Parsing: <tel:1234567890> against <http://example.org/foo/bar> assert_equals: origin expected "null" but got "tel://"
+PASS Parsing: <tel:1234567890> against <http://example.org/foo/bar>
PASS Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path>
PASS Parsing: < File:c|////foo\bar.html> against <file:///tmp/mock/path>
PASS Parsing: <C|/foo/bar> against <file:///tmp/mock/path>
PASS Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank>
PASS Parsing: <http://example.com/foo/../../..> against <about:blank>
PASS Parsing: <http://example.com/foo/../../../ton> against <about:blank>
-FAIL Parsing: <http://example.com/foo/%2e> against <about:blank> assert_equals: href expected "http://example.com/foo/" but got "http://example.com/foo/%2e"
+PASS Parsing: <http://example.com/foo/%2e> against <about:blank>
FAIL Parsing: <http://example.com/foo/%2e%2> against <about:blank> assert_equals: href expected "http://example.com/foo/.%2" but got "http://example.com/foo/%2e%2"
-FAIL Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> assert_equals: href expected "http://example.com/..bar" but got "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar"
+FAIL Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> assert_equals: href expected "http://example.com/..bar" but got "http://example.com/%2e.bar"
PASS Parsing: <http://example.com////../..> against <about:blank>
PASS Parsing: <http://example.com/foo/bar//../..> against <about:blank>
PASS Parsing: <http://example.com/foo/bar//..> against <about:blank>
PASS Parsing: <http://www.google.com> against <about:blank>
PASS Parsing: <http://192.0x00A80001> against <about:blank>
FAIL Parsing: <http://www/foo%2Ehtml> against <about:blank> assert_equals: href expected "http://www/foo.html" but got "http://www/foo%2Ehtml"
-FAIL Parsing: <http://www/foo/%2E/html> against <about:blank> assert_equals: href expected "http://www/foo/html" but got "http://www/foo/%2E/html"
+PASS Parsing: <http://www/foo/%2E/html> against <about:blank>
PASS Parsing: <http://user:pass@/> against <about:blank>
PASS Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank>
PASS Parsing: <http:\\www.google.com\foo> against <about:blank>
PASS Parsing: <http://foo:80/> against <about:blank>
PASS Parsing: <http://foo:81/> against <about:blank>
-FAIL Parsing: <httpa://foo:80/> against <about:blank> assert_equals: origin expected "null" but got "httpa://foo:80"
+PASS Parsing: <httpa://foo:80/> against <about:blank>
PASS Parsing: <http://foo:-80/> against <about:blank>
PASS Parsing: <https://foo:443/> against <about:blank>
PASS Parsing: <https://foo:80/> against <about:blank>
PASS Parsing: <http:/example.com/> against <about:blank>
PASS Parsing: <ftp:/example.com/> against <about:blank>
PASS Parsing: <https:/example.com/> against <about:blank>
-FAIL Parsing: <madeupscheme:/example.com/> against <about:blank> assert_equals: origin expected "null" but got "madeupscheme://"
+PASS Parsing: <madeupscheme:/example.com/> against <about:blank>
PASS Parsing: <file:/example.com/> against <about:blank>
-FAIL Parsing: <ftps:/example.com/> against <about:blank> assert_equals: origin expected "null" but got "ftps://"
+PASS Parsing: <ftps:/example.com/> against <about:blank>
PASS Parsing: <gopher:/example.com/> against <about:blank>
PASS Parsing: <ws:/example.com/> against <about:blank>
PASS Parsing: <wss:/example.com/> against <about:blank>
PASS Parsing: <data:/example.com/> against <about:blank>
PASS Parsing: <javascript:/example.com/> against <about:blank>
-FAIL Parsing: <mailto:/example.com/> against <about:blank> assert_equals: origin expected "null" but got "mailto://"
+PASS Parsing: <mailto:/example.com/> against <about:blank>
PASS Parsing: <http:example.com/> against <about:blank>
PASS Parsing: <ftp:example.com/> against <about:blank>
PASS Parsing: <https:example.com/> against <about:blank>
-FAIL Parsing: <madeupscheme:example.com/> against <about:blank> assert_equals: origin expected "null" but got "madeupscheme://"
-FAIL Parsing: <ftps:example.com/> against <about:blank> assert_equals: origin expected "null" but got "ftps://"
+PASS Parsing: <madeupscheme:example.com/> against <about:blank>
+PASS Parsing: <ftps:example.com/> against <about:blank>
PASS Parsing: <gopher:example.com/> against <about:blank>
PASS Parsing: <ws:example.com/> against <about:blank>
PASS Parsing: <wss:example.com/> against <about:blank>
PASS Parsing: <data:example.com/> against <about:blank>
PASS Parsing: <javascript:example.com/> against <about:blank>
-FAIL Parsing: <mailto:example.com/> against <about:blank> assert_equals: origin expected "null" but got "mailto://"
+PASS Parsing: <mailto:example.com/> against <about:blank>
PASS Parsing: <http:@www.example.com> against <about:blank>
PASS Parsing: <http:/@www.example.com> against <about:blank>
PASS Parsing: <http://@www.example.com> against <about:blank>
PASS Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/>
PASS Parsing: <http://%00.com> against <http://other.com/>
PASS Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/>
-FAIL Parsing: <http://你好你好> against <http://other.com/> assert_equals: origin expected "http://你好你好" but got "http://xn--6qqa088eba"
+PASS Parsing: <http://你好你好> against <http://other.com/>
PASS Parsing: <http://%zz%66%a.com> against <http://other.com/>
PASS Parsing: <http://%25> against <http://other.com/>
PASS Parsing: <http://hello%00> against <http://other.com/>
PASS Parsing: <http://0Xc0.0250.01> against <http://other.com/>
PASS Parsing: <http://[google.com]> against <http://other.com/>
PASS Parsing: <http://foo:💩@example.com/bar> against <http://other.com/>
-FAIL Parsing: <#> against <test:test> assert_equals: origin expected "null" but got "test://"
-FAIL Parsing: <#x> against <mailto:x@x.com> assert_equals: origin expected "null" but got "mailto://"
+PASS Parsing: <#> against <test:test>
+PASS Parsing: <#x> against <mailto:x@x.com>
PASS Parsing: <#x> against <data:,>
PASS Parsing: <#x> against <about:blank>
-FAIL Parsing: <#> against <test:test?test> assert_equals: origin expected "null" but got "test://"
+PASS Parsing: <#> against <test:test?test>
PASS Parsing: <https://@test@test@example:800/> against <http://doesnotmatter/>
PASS Parsing: <https://@@@example> against <http://doesnotmatter/>
PASS Parsing: <http://`{}:`{}@h/`{}?`{}> against <http://doesnotmatter/>
PASS Parsing: </some/path> against <http://user:pass@example.org:21/smth>
PASS Parsing: <i> against <sc:sd>
PASS Parsing: <i> against <sc:sd/sd>
-FAIL Parsing: <i> against <sc:/pa/pa> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <i> against <sc://ho/pa> assert_equals: origin expected "null" but got "sc://ho"
-FAIL Parsing: <i> against <sc:///pa/pa> assert_equals: origin expected "null" but got "sc://"
+PASS Parsing: <i> against <sc:/pa/pa>
+PASS Parsing: <i> against <sc://ho/pa>
+PASS Parsing: <i> against <sc:///pa/pa>
PASS Parsing: <../i> against <sc:sd>
PASS Parsing: <../i> against <sc:sd/sd>
-FAIL Parsing: <../i> against <sc:/pa/pa> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <../i> against <sc://ho/pa> assert_equals: origin expected "null" but got "sc://ho"
-FAIL Parsing: <../i> against <sc:///pa/pa> assert_equals: origin expected "null" but got "sc://"
+PASS Parsing: <../i> against <sc:/pa/pa>
+PASS Parsing: <../i> against <sc://ho/pa>
+PASS Parsing: <../i> against <sc:///pa/pa>
PASS Parsing: </i> against <sc:sd>
PASS Parsing: </i> against <sc:sd/sd>
-FAIL Parsing: </i> against <sc:/pa/pa> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: </i> against <sc://ho/pa> assert_equals: origin expected "null" but got "sc://ho"
-FAIL Parsing: </i> against <sc:///pa/pa> assert_equals: href expected "sc:///i" but got "sc:/i"
+PASS Parsing: </i> against <sc:/pa/pa>
+PASS Parsing: </i> against <sc://ho/pa>
+PASS Parsing: </i> against <sc:///pa/pa>
PASS Parsing: <?i> against <sc:sd>
PASS Parsing: <?i> against <sc:sd/sd>
-FAIL Parsing: <?i> against <sc:/pa/pa> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <?i> against <sc://ho/pa> assert_equals: origin expected "null" but got "sc://ho"
-FAIL Parsing: <?i> against <sc:///pa/pa> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <#i> against <sc:sd> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <#i> against <sc:sd/sd> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <#i> against <sc:/pa/pa> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <#i> against <sc://ho/pa> assert_equals: origin expected "null" but got "sc://ho"
-FAIL Parsing: <#i> against <sc:///pa/pa> assert_equals: origin expected "null" but got "sc://"
+PASS Parsing: <?i> against <sc:/pa/pa>
+PASS Parsing: <?i> against <sc://ho/pa>
+PASS Parsing: <?i> against <sc:///pa/pa>
+PASS Parsing: <#i> against <sc:sd>
+PASS Parsing: <#i> against <sc:sd/sd>
+PASS Parsing: <#i> against <sc:/pa/pa>
+PASS Parsing: <#i> against <sc://ho/pa>
+PASS Parsing: <#i> against <sc:///pa/pa>
PASS Parsing: <about:/../> against <about:blank>
PASS Parsing: <data:/../> against <about:blank>
PASS Parsing: <javascript:/../> against <about:blank>
-FAIL Parsing: <mailto:/../> against <about:blank> assert_equals: origin expected "null" but got "mailto://"
-FAIL Parsing: <sc://ñ.test/> against <about:blank> assert_equals: origin expected "null" but got "sc://xn--ida.test"
-FAIL Parsing: <sc:\../> against <about:blank> assert_equals: origin expected "null" but got "sc://"
-FAIL Parsing: <sc::a@example.net> against <about:blank> assert_equals: origin expected "null" but got "sc://"
+PASS Parsing: <mailto:/../> against <about:blank>
+FAIL Parsing: <sc://ñ.test/> against <about:blank> assert_equals: href expected "sc://xn--ida.test/" but got "sc://%C3%B1.test/"
+PASS Parsing: <sc:\../> against <about:blank>
+PASS Parsing: <sc::a@example.net> against <about:blank>
PASS Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank>
PASS Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank>
PASS Parsing: <https://localhost:3000/jqueryui@1.2.3> against <about:blank>
PASS Parsing: <h t
-t
-p://h o
-s
-t:9 0
-0
-0/p a
-t
-h?q u
-e
-ry#f r
-a
-g> against <about:blank>
+t\rp://h o
+s\rt:9 0
+0\r0/p a
+t\rh?q u
+e\rry#f r
+a\rg> against <about:blank>
PASS Parsing: <?a=b&c=d> against <http://example.org/foo/bar>
PASS Parsing: <??a=b&c=d> against <http://example.org/foo/bar>
PASS Parsing: <http:> against <http://example.org/foo/bar>
FAIL Parsing: <http:> against <https://example.org/foo/bar> assert_throws: function "function () {
bURL(expected.input, expected.bas..." did not throw
-FAIL Parsing: <sc:> against <https://example.org/foo/bar> assert_equals: origin expected "null" but got "sc://"
+PASS Parsing: <sc:> against <https://example.org/foo/bar>