Test files: 3; Total subtests: 560
Test | Ch39 | Fx34 | IE11 | Op12 | UC10 |
---|---|---|---|---|---|
/url/a-element.html | OK | OK | OK | OK | ERROR |
Loading data… | PASS | PASS | PASS | PASS | PASS |
Parsing: <http://example . org> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http:foo.com> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: < :foo.com > against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: < foo.com > against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <a: foo.com> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f:/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://f:0/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | FAIL |
Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://f:b/c> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f: /c> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f: /c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f:999999/c> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: < > against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <:foo.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <:foo.com\> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <:> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <:a> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <:/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <:\> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <:#> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <?> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: </> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <:23> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: </:23> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <::> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <::23> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <foo://> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http::@c:29> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://::@c@d:2> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://foo.com/\@> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:\\foo.com\> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo:/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo:/bar.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo://///////> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo:////://///> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <c:/foo> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <//foo/bar> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <[61:24:74]:98> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http:[61:27]/:foo> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http://[1::2]:3:4> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://2001::1> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://2001::1]> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://2001::1]:80> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://[2001::1]> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http://[2001::1]:80> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <ftp:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <file:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftps:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <gopher:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <javascript:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <mailto:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <ftp:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <ftps:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <gopher:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <javascript:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <mailto:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: </a/b/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: </a/ /c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: </a%2fc> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: </a/%2f/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <data:text/html,test#test> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: < File:c|////foo\bar.html> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <C|/foo/bar> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: </C|\foo\bar> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <//C|/foo/bar> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <//server/file> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <\\server\file> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: </\server/file> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <file:///home/me> against <file:///tmp/mock/path> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <//> against <file:///tmp/mock/path> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <///> against <file:///tmp/mock/path> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <///test> against <file:///tmp/mock/path> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <file://test> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <file://localhost> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <file://localhost/> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <file://localhost/test> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <test> against <file:///tmp/mock/path> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <file:test> against <file:///tmp/mock/path> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://example.com/././foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/./.foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/.> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/./> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/..> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/../> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/..bar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/../ton> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/../../..> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/../../../ton> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/%2e> against <about:blank> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo/%2e%2> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com////../..> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo/bar//../..> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo/bar//..> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/%20foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%2> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%2zbar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%2©zbar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%41%7a> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo %91> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%00%51> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/(%28:%3A%29)> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo bar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com\\foo\\bar> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/@asdf%40> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/你好你好> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/‥/foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com//foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com//foo//bar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://[www.google.com]/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://www.google.com> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://192.0x00A80001> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://www/foo%2Ehtml> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://www/foo/%2E/html> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://user:pass@/> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http:\\www.google.com\foo> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo:81/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <httpa://foo:80/> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://foo:-80/> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <https://foo:443/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <ftp://foo:21/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftp://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <gopher://foo:70/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <gopher://foo:443/> against <about:blank> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <ws://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <ws://foo:81/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <ws://foo:443/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <ws://foo:815/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <wss://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <wss://foo:81/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <wss://foo:443/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <wss://foo:815/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftp:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <file:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftps:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <gopher:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <javascript:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <mailto:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftp:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <ftps:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <gopher:example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <javascript:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <mailto:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <http:@www.example.com> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http:/@www.example.com> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://@www.example.com> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http:a:b@www.example.com> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http:/a:b@www.example.com> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://a:b@www.example.com> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://@pple.com> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http::b@www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:/:b@www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://:b@www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:/:@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://user@/www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:/@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <https:@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:a:b@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:/a:b@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://a:b@/www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http::@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:a:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http:/a:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http://a:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http://www.@pple.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:@:www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http:/@:www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://@:www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://:@www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: </> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: </test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <.> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <..> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <./test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <../test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <../aaa/test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <../../test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <中/test.txt> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://www.example2.com> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://ExAmPlE.CoM> against <http://other.com/> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example example.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://Goo%20 goo%7C|.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://GOO goo.com> against <http://other.com/> | FAIL | FAIL | - | FAIL | PASS |
Parsing: <http://GOOgoo.com> against <http://other.com/> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://www.foo。bar.com> against <http://other.com/> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://zyx.com> against <http://other.com/> | FAIL | FAIL | - | FAIL | FAIL |
Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://Go.com> against <http://other.com/> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://%41.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%00.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://你好你好> against <http://other.com/> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://%zz%66%a.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%25> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://hello%00> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://192.168.0.1 hello> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://0Xc0.0250.01> against <http://other.com/> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://192.168.0.257> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://[google.com]> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
/url/a-element.xhtml | OK | OK | OK | OK | OK |
Loading data… | PASS | PASS | PASS | PASS | PASS |
Parsing: <http://example . org> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http:foo.com> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: < :foo.com > against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: < foo.com > against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <a: foo.com> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f:/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://f:0/c> against <http://example.org/foo/bar> | PASS | PASS | PASS | FAIL | PASS |
Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar> | PASS | PASS | PASS | FAIL | FAIL |
Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://f:b/c> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f: /c> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f: /c> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://f:999999/c> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: < > against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <:foo.com/> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <:foo.com\> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <:> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <:a> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <:/> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <:\> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <:#> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <?> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: </> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <:23> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: </:23> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <::> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <::23> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <foo://> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http::@c:29> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://::@c@d:2> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://foo.com/\@> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:\\foo.com\> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo:/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <foo:/bar.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <foo://///////> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <foo:////://///> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <c:/foo> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <//foo/bar> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <[61:24:74]:98> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <http:[61:27]/:foo> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <http://[1::2]:3:4> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://2001::1> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://2001::1]> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://2001::1]:80> against <http://example.org/foo/bar> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://[2001::1]> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http://[2001::1]:80> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | PASS | PASS |
Parsing: <http:/example.com/> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <ftp:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <file:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftps:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <gopher:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <javascript:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <mailto:/example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <http:example.com/> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <ftp:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <ftps:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <gopher:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:example.com/> against <http://example.org/foo/bar> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <javascript:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <mailto:example.com/> against <http://example.org/foo/bar> | PASS | FAIL | PASS | PASS | PASS |
Parsing: </a/b/c> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: </a/ /c> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: </a%2fc> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: </a/%2f/c> against <http://example.org/foo/bar> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <data:text/html,test#test> against <http://example.org/foo/bar> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: < File:c|////foo\bar.html> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <C|/foo/bar> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: </C|\foo\bar> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <//C|/foo/bar> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <//server/file> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <\\server\file> against <file:///tmp/mock/path> | FAIL | FAIL | PASS | FAIL | FAIL |
Parsing: </\server/file> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS |
Parsing: <file:///home/me> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS |
Parsing: <//> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <///> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <///test> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <file://test> against <file:///tmp/mock/path> | PASS | FAIL | PASS | PASS | FAIL |
Parsing: <file://localhost> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <file://localhost/> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <file://localhost/test> against <file:///tmp/mock/path> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <test> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | PASS | FAIL |
Parsing: <file:test> against <file:///tmp/mock/path> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://example.com/././foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/./.foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/.> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/./> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/..> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/../> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/..bar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/../ton> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/../../..> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/../../../ton> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/%2e> against <about:blank> | PASS | FAIL | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo/%2e%2> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com////../..> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo/bar//../..> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo/bar//..> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://example.com/foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/%20foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%2> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%2zbar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%2©zbar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%41%7a> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo %91> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo%00%51> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/(%28:%3A%29)> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/foo bar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com\\foo\\bar> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/@asdf%40> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/你好你好> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com/‥/foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com//foo> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example.com//foo//bar> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://[www.google.com]/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://www.google.com> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://192.0x00A80001> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://www/foo%2Ehtml> against <about:blank> | FAIL | PASS | FAIL | PASS | PASS |
Parsing: <http://www/foo/%2E/html> against <about:blank> | PASS | PASS | FAIL | PASS | FAIL |
Parsing: <http://user:pass@/> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http:\\www.google.com\foo> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://foo:81/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <httpa://foo:80/> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://foo:-80/> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <https://foo:443/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https://foo:80/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <ftp://foo:21/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftp://foo:80/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <gopher://foo:70/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <gopher://foo:443/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <ws://foo:80/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <ws://foo:81/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <ws://foo:443/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <ws://foo:815/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <wss://foo:80/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <wss://foo:81/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <wss://foo:443/> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <wss://foo:815/> against <about:blank> | PASS | PASS | PASS | PASS | PASS |
Parsing: <http:/example.com/> against <about:blank> | FAIL | PASS | FAIL | FAIL | PASS |
Parsing: <ftp:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:/example.com/> against <about:blank> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <file:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <ftps:/example.com/> against <about:blank> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <gopher:/example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:/example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:/example.com/> against <about:blank> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <javascript:/example.com/> against <about:blank> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <mailto:/example.com/> against <about:blank> | PASS | FAIL | PASS | FAIL | PASS |
Parsing: <http:example.com/> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <ftp:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <https:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <madeupscheme:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <ftps:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <gopher:example.com/> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <ws:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <wss:example.com/> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <data:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <javascript:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <mailto:example.com/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS |
Parsing: <http:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http:/@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | PASS |
Parsing: <http://@www.example.com> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http:a:b@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http:/a:b@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | PASS |
Parsing: <http://a:b@www.example.com> against <about:blank> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://@pple.com> against <about:blank> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http::b@www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:/:b@www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://:b@www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:/:@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://user@/www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:/@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <https:@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:a:b@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:/a:b@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://a:b@/www.example.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http::@/www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:a:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http:/a:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http://a:@www.example.com> against <about:blank> | FAIL | PASS | FAIL | FAIL | FAIL |
Parsing: <http://www.@pple.com> against <about:blank> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http:@:www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http:/@:www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://@:www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://:@www.example.com> against <about:blank> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: </> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: </test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <.> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <..> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <./test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <../test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <../aaa/test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <../../test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <中/test.txt> against <http://www.example.com/test> | FAIL | PASS | FAIL | PASS | FAIL |
Parsing: <http://www.example2.com> against <http://www.example.com/test> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://ExAmPlE.CoM> against <http://other.com/> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://example example.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://Goo%20 goo%7C|.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://GOO goo.com> against <http://other.com/> | FAIL | FAIL | - | FAIL | PASS |
Parsing: <http://GOOgoo.com> against <http://other.com/> | PASS | PASS | FAIL | FAIL | PASS |
Parsing: <http://www.foo。bar.com> against <http://other.com/> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://zyx.com> against <http://other.com/> | FAIL | FAIL | - | FAIL | FAIL |
Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://Go.com> against <http://other.com/> | PASS | PASS | FAIL | PASS | PASS |
Parsing: <http://%41.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%00.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://你好你好> against <http://other.com/> | PASS | FAIL | FAIL | FAIL | PASS |
Parsing: <http://%zz%66%a.com> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%25> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://hello%00> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://192.168.0.1 hello> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
Parsing: <http://0Xc0.0250.01> against <http://other.com/> | PASS | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://192.168.0.257> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | FAIL |
Parsing: <http://[google.com]> against <http://other.com/> | FAIL | FAIL | FAIL | FAIL | PASS |
/url/interfaces.html | OK | OK | OK | OK | OK |
URL interface: existence and properties of interface object | PASS | PASS | FAIL | FAIL | FAIL |
URL interface object length | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: existence and properties of interface prototype object | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: operation domainToASCII(ScalarValueString) | FAIL | FAIL | FAIL | FAIL | FAIL |
URL interface: operation domainToUnicode(ScalarValueString) | FAIL | FAIL | FAIL | FAIL | FAIL |
URL interface: attribute href | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute origin | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute protocol | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute username | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute password | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute host | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute hostname | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute port | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute pathname | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute search | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute searchParams | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: attribute hash | FAIL | PASS | FAIL | FAIL | FAIL |
URL must be primary interface of new URL("http://foo") | PASS | PASS | FAIL | FAIL | FAIL |
Stringification of new URL("http://foo") | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "domainToASCII" with the proper type (0) | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: calling domainToASCII(ScalarValueString) on new URL("http://foo") with too few arguments must throw TypeError | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "domainToUnicode" with the proper type (1) | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: calling domainToUnicode(ScalarValueString) on new URL("http://foo") with too few arguments must throw TypeError | PASS | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "href" with the proper type (2) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "origin" with the proper type (3) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "protocol" with the proper type (4) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "username" with the proper type (5) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "password" with the proper type (6) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "host" with the proper type (7) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "hostname" with the proper type (8) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "port" with the proper type (9) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "pathname" with the proper type (10) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "search" with the proper type (11) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "searchParams" with the proper type (12) | FAIL | PASS | FAIL | FAIL | FAIL |
URL interface: new URL("http://foo") must inherit property "hash" with the proper type (13) | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: existence and properties of interface object | FAIL | FAIL | FAIL | FAIL | FAIL |
URLSearchParams interface object length | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: existence and properties of interface prototype object | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: existence and properties of interface prototype object's "constructor" property | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: operation delete(ScalarValueString) | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: operation get(ScalarValueString) | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: operation getAll(ScalarValueString) | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: operation has(ScalarValueString) | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: operation set(ScalarValueString,ScalarValueString) | FAIL | PASS | FAIL | FAIL | FAIL |
URLSearchParams interface: stringifier | FAIL | PASS | FAIL | FAIL | FAIL |