[a-element.html]
  type: testharness
  [Parsing: <a:\t foo.com> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://f:b/c> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://f: /c> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http::@c:29> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://::@c@d:2> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <foo:/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <foo:/bar.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <foo://///////> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <foo:////://///> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <c:/foo> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://[1::2\]:3:4> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://2001::1> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://2001::1\]> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://2001::1\]:80> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <ftps:/example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <gopher:/example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <data:/example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <javascript:/example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <mailto:/example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <ftps:example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <gopher:example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <data:example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <javascript:example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <mailto:example.com/> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <data:text/html,test#test> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <file:c:\\foo\\bar.html> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: <  File:c|////foo\\bar.html> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: <C|/foo/bar> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: <//server/file> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: <\\\\server\\file> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: </\\server/file> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: <file://test> against <file:///tmp/mock/path>]
    expected: FAIL

  [Parsing: <http://example.com/foo/%2e> against <about:blank>]
    expected: FAIL

  [Parsing: <data:test# »> against <about:blank>]
    expected: FAIL

  [Parsing: <http://[www.google.com\]/> against <about:blank>]
    expected: FAIL

  [Parsing: <http://user:pass@/> against <about:blank>]
    expected: FAIL

  [Parsing: <httpa://foo:80/> against <about:blank>]
    expected: FAIL

  [Parsing: <http://foo:-80/> against <about:blank>]
    expected: FAIL

  [Parsing: <gopher://foo:70/> against <about:blank>]
    expected: FAIL

  [Parsing: <gopher://foo:443/> against <about:blank>]
    expected: FAIL

  [Parsing: <madeupscheme:/example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <ftps:/example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <gopher:/example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <data:/example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <javascript:/example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <mailto:/example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <madeupscheme:example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <ftps:example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <gopher:example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <data:example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <javascript:example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <mailto:example.com/> against <about:blank>]
    expected: FAIL

  [Parsing: <http::b@www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:/:b@www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://:b@www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:/:@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://user@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:/@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <https:@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:a:b@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:/a:b@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://a:b@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http::@/www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://www.@pple.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:@:www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http:/@:www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://@:www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://:@www.example.com> against <about:blank>]
    expected: FAIL

  [Parsing: <http://example example.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://Goo%20 goo%7C|.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://GOO 　goo.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://﷐zyx.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://％４１.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://％００.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://你好你好> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://%zz%66%a.com> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://%25> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://hello%00> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://192.168.0.257> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://192.168.0.1 hello> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://[google.com\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <x> against <test:test>]
    expected: FAIL

  [Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <#Î²> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <http://www.google.com/foo?bar=baz# Â»> against <about:blank>]
    expected: FAIL

  [Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank>]
    expected: FAIL

  [Parsing: <http://[\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://[:\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <#> against <test:test>]
    expected: FAIL

  [Parsing: <#x> against <mailto:x@x.com>]
    expected: FAIL

  [Parsing: <#x> against <data:,>]
    expected: FAIL

  [Parsing: <#x> against <about:blank>]
    expected: FAIL

  [Parsing: <#> against <test:test?test>]
    expected: FAIL

  [Parsing: <i> against <sc:sd>]
    expected: FAIL

  [Parsing: <i> against <sc:sd/sd>]
    expected: FAIL

  [Parsing: <i> against <sc:/pa/pa>]
    expected: FAIL

  [Parsing: <i> against <sc://ho/pa>]
    expected: FAIL

  [Parsing: <i> against <sc:///pa/pa>]
    expected: FAIL

  [Parsing: <../i> against <sc:sd>]
    expected: FAIL

  [Parsing: <../i> against <sc:sd/sd>]
    expected: FAIL

  [Parsing: <../i> against <sc:/pa/pa>]
    expected: FAIL

  [Parsing: <../i> against <sc://ho/pa>]
    expected: FAIL

  [Parsing: <../i> against <sc:///pa/pa>]
    expected: FAIL

  [Parsing: </i> against <sc:sd>]
    expected: FAIL

  [Parsing: </i> against <sc:sd/sd>]
    expected: FAIL

  [Parsing: </i> against <sc:/pa/pa>]
    expected: FAIL

  [Parsing: </i> against <sc://ho/pa>]
    expected: FAIL

  [Parsing: </i> against <sc:///pa/pa>]
    expected: FAIL

  [Parsing: <?i> against <sc:sd>]
    expected: FAIL

  [Parsing: <?i> against <sc:sd/sd>]
    expected: FAIL

  [Parsing: <?i> against <sc:/pa/pa>]
    expected: FAIL

  [Parsing: <?i> against <sc://ho/pa>]
    expected: FAIL

  [Parsing: <?i> against <sc:///pa/pa>]
    expected: FAIL

  [Parsing: <#i> against <sc:sd>]
    expected: FAIL

  [Parsing: <#i> against <sc:sd/sd>]
    expected: FAIL

  [Parsing: <#i> against <sc:/pa/pa>]
    expected: FAIL

  [Parsing: <#i> against <sc://ho/pa>]
    expected: FAIL

  [Parsing: <#i> against <sc:///pa/pa>]
    expected: FAIL

  [Parsing: <about:/../> against <about:blank>]
    expected: FAIL

  [Parsing: <data:/../> against <about:blank>]
    expected: FAIL

  [Parsing: <javascript:/../> against <about:blank>]
    expected: FAIL

  [Parsing: <mailto:/../> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://ñ.test/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc:\\../> against <about:blank>]
    expected: FAIL

  [Parsing: <file:..> against <http://www.example.com/test>]
    expected: FAIL

  [Parsing: <http://f:999999/c> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <sc::a@example.net> against <about:blank>]
    expected: FAIL

  [Parsing: <http:> against <https://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <tel:1234567890> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <https://:@test> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://test:@test/x> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://:@test/x> against <about:blank>]
    expected: FAIL

  [Parsing: <http://10000000000> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://4294967296> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://0xffffffff1> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://256.256.256.256> against <http://other.com/>]
    expected: FAIL

  [Parsing: <..> against <file:///C:/>]
    expected: FAIL

  [Parsing: <lolscheme:x x#x x> against <about:blank>]
    expected: FAIL

  [Parsing: <file://example:1/> against <about:blank>]
    expected: FAIL

  [Parsing: <file://example:test/> against <about:blank>]
    expected: FAIL

  [Parsing: <file://example%/> against <about:blank>]
    expected: FAIL

  [Parsing: <file://[example\]/> against <about:blank>]
    expected: FAIL

  [Parsing: <https://�> against <about:blank>]
    expected: FAIL

  [Parsing: <https://%EF%BF%BD> against <about:blank>]
    expected: FAIL

  [Parsing: <http://[::1.2.3.4x\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://[::1.2.3.\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://[::1.2.\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <http://[::1.\]> against <http://other.com/>]
    expected: FAIL

  [Parsing: <sc://\x1f!"$&'()*+,-.;<=>^_`{|}~/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://\x00/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc:// /> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://%/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://@/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://te@s:t@/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://:/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://:12/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://[/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://\\/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://\]/> against <about:blank>]
    expected: FAIL

  [Parsing: <x> against <sc://ñ>]
    expected: FAIL

  [Parsing: <ftp://example.com%80/> against <about:blank>]
    expected: FAIL

  [Parsing: <ftp://example.com%A0/> against <about:blank>]
    expected: FAIL

  [Parsing: <https://example.com%80/> against <about:blank>]
    expected: FAIL

  [Parsing: <https://example.com%A0/> against <about:blank>]
    expected: FAIL

  [Parsing: </> against <file:///C:/a/b>]
    expected: FAIL

  [Parsing: <//d:> against <file:///C:/a/b>]
    expected:
      if not debug and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
      if debug and not e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
      if not debug and not e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
      if debug and e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): FAIL
      if not debug and e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): FAIL
      if not debug and not e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): FAIL
      if debug and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
      if debug and not e10s and (os == "win") and (version == "6.2.9200") and (processor == "x86_64") and (bits == 64): FAIL

  [Parsing: <http://?> against <about:blank>]
    expected: FAIL

  [Parsing: <http://#> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://ñ> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://ñ?x> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://ñ#x> against <about:blank>]
    expected: FAIL

  [Parsing: <#x> against <sc://ñ>]
    expected: FAIL

  [Parsing: <?x> against <sc://ñ>]
    expected: FAIL

  [Parsing: <///> against <sc://x/>]
    expected: FAIL

  [Parsing: <////> against <sc://x/>]
    expected: FAIL

  [Parsing: <////x/> against <sc://x/>]
    expected: FAIL

  [Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank>]
    expected: FAIL

  [Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank>]
    expected: FAIL

  [Parsing: <ut2004://10.10.10.10:7777/Index.ut2> against <about:blank>]
    expected: FAIL

  [Parsing: <redis://foo:bar@somehost:6379/0?baz=bam&qux=baz> against <about:blank>]
    expected: FAIL

  [Parsing: <rsync://foo@host:911/sup> against <about:blank>]
    expected: FAIL

  [Parsing: <git://github.com/foo/bar.git> against <about:blank>]
    expected: FAIL

  [Parsing: <irc://myserver.com:6999/channel?passwd> against <about:blank>]
    expected: FAIL

  [Parsing: <dns://fw.example.org:9999/foo.bar.org?type=TXT> against <about:blank>]
    expected: FAIL

  [Parsing: <ldap://localhost:389/ou=People,o=JNDITutorial> against <about:blank>]
    expected: FAIL

  [Parsing: <git+https://github.com/foo/bar> against <about:blank>]
    expected: FAIL

  [Parsing: <urn:ietf:rfc:2648> against <about:blank>]
    expected: FAIL

  [Parsing: <tag:joe@example.org,2001:foo/bar> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://%E2%80%A0/> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://H%4fSt/path> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://[1:2:0:0:5:0:0:0\]/> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://[1:2:0:0:0:0:0:3\]/> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://[1:2::3\]:80/> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://[:80/> against <about:blank>]
    expected: FAIL

  [Parsing: <https://faß.ExAmPlE/> against <about:blank>]
    expected: FAIL

  [Parsing: <sc://faß.ExAmPlE/> against <about:blank>]
    expected: FAIL

  [Parsing: <https://x x:12> against <about:blank>]
    expected: FAIL

  [Parsing: <wow:%NBD> against <about:blank>]
    expected: FAIL

  [Parsing: <wow:%1G> against <about:blank>]
    expected: FAIL

  [Parsing: <https://0x.0x.0> against <about:blank>]
    expected: FAIL

  [Parsing: <http://[0:1:2:3:4:5:6:7:8\]> against <http://example.net/>]
    expected: FAIL

  [Parsing: <https://[0::0::0\]> against <about:blank>]
    expected: FAIL

  [Parsing: <https://[0:.0\]> against <about:blank>]
    expected: FAIL

  [Parsing: <https://[0:0:\]> against <about:blank>]
    expected: FAIL

  [Parsing: <https://[0:1:2:3:4:5:6:7.0.0.0.1\]> against <about:blank>]
    expected: FAIL

  [Parsing: <https://[0:1.00.0.0.0\]> against <about:blank>]
    expected: FAIL

  [Parsing: <https://[0:1.290.0.0.0\]> against <about:blank>]
    expected: FAIL

  [Parsing: <https://[0:1.23.23\]> against <about:blank>]
    expected: FAIL

  [Parsing: <blob:https://example.com:443/> against <about:blank>]
    expected: FAIL

  [Parsing: <blob:d3958f5c-0777-0845-9dcf-2cb28783acaf> against <about:blank>]
    expected: FAIL

  [Parsing: <non-special://f:999999/c> against <http://example.org/foo/bar>]
    expected: FAIL

  [Parsing: <file:\\\\//> against <about:blank>]
    expected: FAIL

  [Parsing: <file:\\\\\\\\> against <about:blank>]
    expected: FAIL

  [Parsing: <file:\\\\\\\\?fox> against <about:blank>]
    expected: FAIL

  [Parsing: <file:\\\\\\\\#guppy> against <about:blank>]
    expected: FAIL

  [Parsing: <file://spider///> against <about:blank>]
    expected: FAIL

  [Parsing: <file:\\\\localhost//> against <about:blank>]
    expected: FAIL

  [Parsing: <file://\\/localhost//cat> against <about:blank>]
    expected: FAIL

  [Parsing: <file://localhost//a//../..//> against <about:blank>]
    expected: FAIL

  [Parsing: </////mouse> against <file:///elephant>]
    expected: FAIL

  [Parsing: <\\/localhost//pig> against <file://lion/>]
    expected: FAIL

  [Parsing: <//localhost//pig> against <file://lion/>]
    expected: FAIL

  [Parsing: </..//localhost//pig> against <file://lion/>]
    expected: FAIL

  [Parsing: </rooibos> against <file://tea/>]
    expected: FAIL

  [Parsing: </?chai> against <file://tea/>]
    expected: FAIL

  [Parsing: <C|> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C|#> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C|?> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C|/> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C|\\> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C|a> against <file://host/dir/file>]
    expected: FAIL

  [Parsing: <C|\n/> against <file://host/dir/file>]
    expected: FAIL

