URL test results

Input Base
"http://example\t.\norg" http://example.org/foo/bar
"http://user:pass@foo:21/bar;par?b#c" http://example.org/foo/bar
"http:foo.com" http://example.org/foo/bar
"\t :foo.com \n" http://example.org/foo/bar
" foo.com " http://example.org/foo/bar
"a:\t foo.com" http://example.org/foo/bar
"http://f:21/ b ? d # e " http://example.org/foo/bar
"http://f:/c" http://example.org/foo/bar
"http://f:0/c" http://example.org/foo/bar
"http://f:00000000000000/c" http://example.org/foo/bar
"http://f:00000000000000000000080/c" http://example.org/foo/bar
"http://f:b/c" http://example.org/foo/bar
"http://f: /c" http://example.org/foo/bar
"http://f:\n/c" http://example.org/foo/bar
"http://f:fifty-two/c" http://example.org/foo/bar
"http://f:999999/c" http://example.org/foo/bar
"http://f: 21 / b ? d # e " http://example.org/foo/bar
"" http://example.org/foo/bar
" \t" http://example.org/foo/bar
":foo.com/" http://example.org/foo/bar
":foo.com\\" http://example.org/foo/bar
":" http://example.org/foo/bar
":a" http://example.org/foo/bar
":/" http://example.org/foo/bar
":\\" http://example.org/foo/bar
":#" http://example.org/foo/bar
"?" http://example.org/foo/bar
"/" http://example.org/foo/bar
":23" http://example.org/foo/bar
"/:23" http://example.org/foo/bar
"::" http://example.org/foo/bar
"::23" http://example.org/foo/bar
"foo://" http://example.org/foo/bar
"http://a:b@c:29/d" http://example.org/foo/bar
"http::@c:29" http://example.org/foo/bar
"http://&a:foo(b]c@d:2/" http://example.org/foo/bar
"http://::@c@d:2" http://example.org/foo/bar
"http://foo.com:b@d/" http://example.org/foo/bar
"http://foo.com/\\@" http://example.org/foo/bar
"http:\\\\foo.com\\" http://example.org/foo/bar
"http:\\\\a\\b:c\\d@foo.com\\" http://example.org/foo/bar
"foo:/" http://example.org/foo/bar
"foo:/bar.com/" http://example.org/foo/bar
"foo://///////" http://example.org/foo/bar
"foo://///////bar.com/" http://example.org/foo/bar
"foo:////://///" http://example.org/foo/bar
"c:/foo" http://example.org/foo/bar
"//foo/bar" http://example.org/foo/bar
"http://foo/path;a??e#f#g" http://example.org/foo/bar
"http://foo/abcd?efgh?ijkl" http://example.org/foo/bar
"http://foo/abcd#foo?bar" http://example.org/foo/bar
"[61:24:74]:98" http://example.org/foo/bar
"http:[61:27]/:foo" http://example.org/foo/bar
"http://[1::2]:3:4" http://example.org/foo/bar
"http://2001::1" http://example.org/foo/bar
"http://2001::1]" http://example.org/foo/bar
"http://2001::1]:80" http://example.org/foo/bar
"http://[2001::1]" http://example.org/foo/bar
"http://[2001::1]:80" http://example.org/foo/bar
"http:/example.com/" http://example.org/foo/bar
"ftp:/example.com/" http://example.org/foo/bar
"https:/example.com/" http://example.org/foo/bar
"madeupscheme:/example.com/" http://example.org/foo/bar
"file:/example.com/" http://example.org/foo/bar
"ftps:/example.com/" http://example.org/foo/bar
"gopher:/example.com/" http://example.org/foo/bar
"ws:/example.com/" http://example.org/foo/bar
"wss:/example.com/" http://example.org/foo/bar
"data:/example.com/" http://example.org/foo/bar
"javascript:/example.com/" http://example.org/foo/bar
"mailto:/example.com/" http://example.org/foo/bar
"http:example.com/" http://example.org/foo/bar
"ftp:example.com/" http://example.org/foo/bar
"https:example.com/" http://example.org/foo/bar
"madeupscheme:example.com/" http://example.org/foo/bar
"ftps:example.com/" http://example.org/foo/bar
"gopher:example.com/" http://example.org/foo/bar
"ws:example.com/" http://example.org/foo/bar
"wss:example.com/" http://example.org/foo/bar
"data:example.com/" http://example.org/foo/bar
"javascript:example.com/" http://example.org/foo/bar
"mailto:example.com/" http://example.org/foo/bar
"/a/b/c" http://example.org/foo/bar
"/a/ /c" http://example.org/foo/bar
"/a%2fc" http://example.org/foo/bar
"/a/%2f/c" http://example.org/foo/bar
"data:text/html,test#test" http://example.org/foo/bar
"file:c:\\foo\\bar.html" file:///tmp/mock/path
" File:c|////foo\\bar.html" file:///tmp/mock/path
"C|/foo/bar" file:///tmp/mock/path
"/C|\\foo\\bar" file:///tmp/mock/path
"//C|/foo/bar" file:///tmp/mock/path
"//server/file" file:///tmp/mock/path
"\\\\server\\file" file:///tmp/mock/path
"/\\server/file" file:///tmp/mock/path
"file:///foo/bar.txt" file:///tmp/mock/path
"file:///home/me" file:///tmp/mock/path
"//" file:///tmp/mock/path
"///" file:///tmp/mock/path
"///test" file:///tmp/mock/path
"file://test" file:///tmp/mock/path
"file://localhost" file:///tmp/mock/path
"file://localhost/" file:///tmp/mock/path
"file://localhost/test" file:///tmp/mock/path
"test" file:///tmp/mock/path
"file:test" file:///tmp/mock/path
"http://example.com/././foo" about:blank
"http://example.com/./.foo" about:blank
"http://example.com/foo/." about:blank
"http://example.com/foo/./" about:blank
"http://example.com/foo/bar/.." about:blank
"http://example.com/foo/bar/../" about:blank
"http://example.com/foo/..bar" about:blank
"http://example.com/foo/bar/../ton" about:blank
"http://example.com/foo/bar/../ton/../../a" about:blank
"http://example.com/foo/../../.." about:blank
"http://example.com/foo/../../../ton" about:blank
"http://example.com/foo/%2e" about:blank
"http://example.com/foo/%2e%2" about:blank
"http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar" about:blank
"http://example.com////../.." about:blank
"http://example.com/foo/bar//../.." about:blank
"http://example.com/foo/bar//.." about:blank
"http://example.com/foo" about:blank
"http://example.com/%20foo" about:blank
"http://example.com/foo%" about:blank
"http://example.com/foo%2" about:blank
"http://example.com/foo%2zbar" about:blank
"http://example.com/foo%2©zbar" about:blank
"http://example.com/foo%41%7a" about:blank
"http://example.com/foo\t\u0091%91" about:blank
"http://example.com/foo%00%51" about:blank
"http://example.com/(%28:%3A%29)" about:blank
"http://example.com/%3A%3a%3C%3c" about:blank
"http://example.com/foo\tbar" about:blank
"http://example.com\\\\foo\\\\bar" about:blank
"http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd" about:blank
"http://example.com/@asdf%40" about:blank
"http://example.com/你好你好" about:blank
"http://example.com/‥/foo" about:blank
"http://example.com//foo" about:blank
"http://example.com/‮/foo/‭/bar" about:blank
"http://www.google.com/foo?bar=baz#" about:blank
"http://www.google.com/foo?bar=baz# »" about:blank
"http://[www.google.com]/" about:blank
"http://www.google.com" about:blank
"http://192.0x00A80001" about:blank
"http://www/foo%2Ehtml" about:blank
"http://www/foo/%2E/html" about:blank
"http://user:pass@/" about:blank
"http://%25DOMAIN:foobar@foodomain.com/" about:blank
"http:\\\\www.google.com\\foo" about:blank
"http://foo:80/" about:blank
"http://foo:81/" about:blank
"httpa://foo:80/" about:blank
"http://foo:-80/" about:blank
"https://foo:443/" about:blank
"https://foo:80/" about:blank
"ftp://foo:21/" about:blank
"ftp://foo:80/" about:blank
"gopher://foo:70/" about:blank
"gopher://foo:443/" about:blank
"ws://foo:80/" about:blank
"ws://foo:81/" about:blank
"ws://foo:443/" about:blank
"ws://foo:815/" about:blank
"wss://foo:80/" about:blank
"wss://foo:81/" about:blank
"wss://foo:443/" about:blank
"wss://foo:815/" about:blank
"http:/example.com/" about:blank
"ftp:/example.com/" about:blank
"https:/example.com/" about:blank
"madeupscheme:/example.com/" about:blank
"file:/example.com/" about:blank
"ftps:/example.com/" about:blank
"gopher:/example.com/" about:blank
"ws:/example.com/" about:blank
"wss:/example.com/" about:blank
"data:/example.com/" about:blank
"javascript:/example.com/" about:blank
"mailto:/example.com/" about:blank
"http:example.com/" about:blank
"ftp:example.com/" about:blank
"https:example.com/" about:blank
"madeupscheme:example.com/" about:blank
"ftps:example.com/" about:blank
"gopher:example.com/" about:blank
"ws:example.com/" about:blank
"wss:example.com/" about:blank
"data:example.com/" about:blank
"javascript:example.com/" about:blank
"mailto:example.com/" about:blank
"http:@www.example.com" about:blank
"http:/@www.example.com" about:blank
"http://@www.example.com" about:blank
"http:a:b@www.example.com" about:blank
"http:/a:b@www.example.com" about:blank
"http://a:b@www.example.com" about:blank
"http://@pple.com" about:blank
"http::b@www.example.com" about:blank
"http:/:b@www.example.com" about:blank
"http://:b@www.example.com" about:blank
"http:/:@/www.example.com" about:blank
"http://user@/www.example.com" about:blank
"http:@/www.example.com" about:blank
"http:/@/www.example.com" about:blank
"http://@/www.example.com" about:blank
"https:@/www.example.com" about:blank
"http:a:b@/www.example.com" about:blank
"http:/a:b@/www.example.com" about:blank
"http://a:b@/www.example.com" about:blank
"http::@/www.example.com" about:blank
"http:a:@www.example.com" about:blank
"http:/a:@www.example.com" about:blank
"http://a:@www.example.com" about:blank
"http://www.@pple.com" about:blank
"http:@:www.example.com" about:blank
"http:/@:www.example.com" about:blank
"http://@:www.example.com" about:blank
"http://:@www.example.com" about:blank
"/" http://www.example.com/test
"/test.txt" http://www.example.com/test
"." http://www.example.com/test
".." http://www.example.com/test
"test.txt" http://www.example.com/test
"./test.txt" http://www.example.com/test
"../test.txt" http://www.example.com/test
"../aaa/test.txt" http://www.example.com/test
"../../test.txt" http://www.example.com/test
"中/test.txt" http://www.example.com/test
"http://www.example2.com" http://www.example.com/test
"http://ExAmPlE.CoM" http://other.com/
"http://example example.com" http://other.com/
"http://Goo%20 goo%7C|.com" http://other.com/
"http://GOO  goo.com" http://other.com/
"http://GOO​⁠goo.com" http://other.com/
"http://www.foo。bar.com" http://other.com/
"http://\uFDD0zyx.com" http://other.com/
"http://%ef%b7%90zyx.com" http://other.com/
"http://Go.com" http://other.com/
"http://%41.com" http://other.com/
"http://%ef%bc%85%ef%bc%94%ef%bc%91.com" http://other.com/
"http://%00.com" http://other.com/
"http://%ef%bc%85%ef%bc%90%ef%bc%90.com" http://other.com/
"http://你好你好" http://other.com/
"http://%zz%66%a.com" http://other.com/
"http://%25" http://other.com/
"http://hello%00" http://other.com/
"http://%30%78%63%30%2e%30%32%35%30.01" http://other.com/
"http://%30%78%63%30%2e%30%32%35%30.01%2e" http://other.com/
"http://%3g%78%63%30%2e%30%32%35%30%2E.01" http://other.com/
"http://192.168.0.1 hello" http://other.com/
"http://0Xc0.0250.01" http://other.com/
"http://192.168.0.257" http://other.com/
"http://[google.com]" http://other.com/