URL test results

Test Input Base User Agents with differences
0 "http://example\t.\norg" http://example.org/foo/bar addressable ie nodejs safari
1 "http://user:pass@foo:21/bar;par?b#c" http://example.org/foo/bar addressable ie opera safari
2 "http:foo.com" http://example.org/foo/bar addressable ie
3 "\t :foo.com \n" http://example.org/foo/bar addressable ie
4 " foo.com " http://example.org/foo/bar addressable ie
5 "a:\t foo.com" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
6 "http://f:21/ b ? d # e " http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
7 "http://f:/c" http://example.org/foo/bar ie
8 "http://f:0/c" http://example.org/foo/bar addressable opera
9 "http://f:00000000000000/c" http://example.org/foo/bar addressable nodejs opera safari
10 "http://f:00000000000000000000080/c" http://example.org/foo/bar addressable ie nodejs safari
11 "http://f:b/c" http://example.org/foo/bar addressable chrome firefox ie nodejs opera
12 "http://f: /c" http://example.org/foo/bar addressable chrome firefox ie nodejs opera
13 "http://f:\n/c" http://example.org/foo/bar addressable ie nodejs safari
14 "http://f:fifty-two/c" http://example.org/foo/bar addressable chrome firefox ie nodejs opera
15 "http://f:999999/c" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
16 "http://f: 21 / b ? d # e " http://example.org/foo/bar testdata chrome firefox ie nodejs opera rust safari
17 "" http://example.org/foo/bar ie
18 " \t" http://example.org/foo/bar addressable ie
19 ":foo.com/" http://example.org/foo/bar addressable ie
20 ":foo.com\\" http://example.org/foo/bar addressable firefox ie opera
21 ":" http://example.org/foo/bar addressable ie
22 ":a" http://example.org/foo/bar addressable ie
23 ":/" http://example.org/foo/bar addressable ie
24 ":\\" http://example.org/foo/bar addressable firefox ie opera
25 ":#" http://example.org/foo/bar addressable ie nodejs rust
26 "?" http://example.org/foo/bar ie nodejs rust
27 "/" http://example.org/foo/bar ie
28 ":23" http://example.org/foo/bar addressable ie
29 "/:23" http://example.org/foo/bar ie
30 "::" http://example.org/foo/bar addressable ie
31 "::23" http://example.org/foo/bar addressable ie
32 "foo://" http://example.org/foo/bar testdata chrome ie opera safari
33 "http://a:b@c:29/d" http://example.org/foo/bar addressable ie opera safari
34 "http::@c:29" http://example.org/foo/bar addressable firefox ie
35 "http://&a:foo(b]c@d:2/" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
36 "http://::@c@d:2" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
37 "http://foo.com:b@d/" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
38 "http://foo.com/\\@" http://example.org/foo/bar addressable firefox ie opera
39 "http:\\\\foo.com\\" http://example.org/foo/bar addressable firefox ie opera
40 "http:\\\\a\\b:c\\d@foo.com\\" http://example.org/foo/bar addressable firefox ie opera
41 "foo:/" http://example.org/foo/bar firefox opera rust
42 "foo:/bar.com/" http://example.org/foo/bar firefox opera rust
43 "foo://///////" http://example.org/foo/bar testdata addressable chrome ie nodejs opera safari
44 "foo://///////bar.com/" http://example.org/foo/bar testdata addressable chrome ie nodejs opera safari
45 "foo:////://///" http://example.org/foo/bar testdata addressable chrome ie nodejs opera safari
46 "c:/foo" http://example.org/foo/bar firefox ie opera rust
47 "//foo/bar" http://example.org/foo/bar ie
48 "http://foo/path;a??e#f#g" http://example.org/foo/bar ie
49 "http://foo/abcd?efgh?ijkl" http://example.org/foo/bar ie
50 "http://foo/abcd#foo?bar" http://example.org/foo/bar ie
51 "[61:24:74]:98" http://example.org/foo/bar addressable firefox ie
52 "http:[61:27]/:foo" http://example.org/foo/bar addressable firefox ie
53 "http://[1::2]:3:4" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
54 "http://2001::1" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
55 "http://2001::1]" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
56 "http://2001::1]:80" http://example.org/foo/bar testdata addressable chrome firefox ie nodejs opera rust safari
57 "http://[2001::1]" http://example.org/foo/bar addressable firefox ie nodejs
58 "http://[2001::1]:80" http://example.org/foo/bar addressable firefox ie nodejs
59 "http:/example.com/" http://example.org/foo/bar addressable ie safari
60 "ftp:/example.com/" http://example.org/foo/bar addressable ie opera
61 "https:/example.com/" http://example.org/foo/bar addressable ie opera
62 "madeupscheme:/example.com/" http://example.org/foo/bar firefox opera rust
63 "file:/example.com/" http://example.org/foo/bar addressable ie nodejs opera
64 "ftps:/example.com/" http://example.org/foo/bar firefox opera rust
65 "gopher:/example.com/" http://example.org/foo/bar addressable firefox ie opera
66 "ws:/example.com/" http://example.org/foo/bar addressable ie nodejs opera
67 "wss:/example.com/" http://example.org/foo/bar addressable ie nodejs opera
68 "data:/example.com/" http://example.org/foo/bar firefox opera rust
69 "javascript:/example.com/" http://example.org/foo/bar firefox opera rust
70 "mailto:/example.com/" http://example.org/foo/bar firefox opera rust
71 "http:example.com/" http://example.org/foo/bar addressable ie
72 "ftp:example.com/" http://example.org/foo/bar addressable ie opera
73 "https:example.com/" http://example.org/foo/bar addressable ie opera
74 "madeupscheme:example.com/" http://example.org/foo/bar firefox nodejs rust
75 "ftps:example.com/" http://example.org/foo/bar firefox nodejs rust
76 "gopher:example.com/" http://example.org/foo/bar addressable firefox ie opera
77 "ws:example.com/" http://example.org/foo/bar addressable ie nodejs opera
78 "wss:example.com/" http://example.org/foo/bar addressable ie nodejs opera
79 "data:example.com/" http://example.org/foo/bar firefox nodejs rust
80 "javascript:example.com/" http://example.org/foo/bar firefox rust
81 "mailto:example.com/" http://example.org/foo/bar firefox nodejs rust
82 "/a/b/c" http://example.org/foo/bar ie
83 "/a/ /c" http://example.org/foo/bar addressable ie
84 "/a%2fc" http://example.org/foo/bar ie
85 "/a/%2f/c" http://example.org/foo/bar ie
86 "data:text/html,test#test" http://example.org/foo/bar firefox nodejs opera rust
87 "file:c:\\foo\\bar.html" file:///tmp/mock/path testdata addressable chrome firefox ie nodejs opera rust safari
88 " File:c|////foo\\bar.html" file:///tmp/mock/path testdata addressable chrome firefox ie nodejs opera rust safari
89 "C|/foo/bar" file:///tmp/mock/path testdata addressable chrome firefox ie nodejs opera rust safari
90 "/C|\\foo\\bar" file:///tmp/mock/path testdata addressable chrome firefox ie nodejs opera rust safari
91 "//C|/foo/bar" file:///tmp/mock/path testdata addressable chrome firefox ie nodejs opera rust safari
92 "//server/file" file:///tmp/mock/path firefox ie
93 "\\\\server\\file" file:///tmp/mock/path addressable firefox opera
94 "/\\server/file" file:///tmp/mock/path addressable firefox ie opera
95 "file:///foo/bar.txt" file:///tmp/mock/path
96 "file:///home/me" file:///tmp/mock/path
97 "//" file:///tmp/mock/path addressable ie nodejs
98 "///" file:///tmp/mock/path ie
99 "///test" file:///tmp/mock/path ie
100 "file://test" file:///tmp/mock/path addressable firefox
101 "file://localhost" file:///tmp/mock/path addressable firefox ie safari
102 "file://localhost/" file:///tmp/mock/path firefox ie safari
103 "file://localhost/test" file:///tmp/mock/path firefox ie safari
104 "test" file:///tmp/mock/path ie
105 "file:test" file:///tmp/mock/path addressable ie opera
106 "http://example.com/././foo" about:blank ie nodejs
107 "http://example.com/./.foo" about:blank ie nodejs
108 "http://example.com/foo/." about:blank ie nodejs
109 "http://example.com/foo/./" about:blank ie nodejs
110 "http://example.com/foo/bar/.." about:blank ie nodejs
111 "http://example.com/foo/bar/../" about:blank ie nodejs
112 "http://example.com/foo/..bar" about:blank ie
113 "http://example.com/foo/bar/../ton" about:blank ie nodejs
114 "http://example.com/foo/bar/../ton/../../a" about:blank ie nodejs
115 "http://example.com/foo/../../.." about:blank ie nodejs
116 "http://example.com/foo/../../../ton" about:blank ie nodejs
117 "http://example.com/foo/%2e" about:blank addressable firefox ie nodejs safari
118 "http://example.com/foo/%2e%2" about:blank chrome ie
119 "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
120 "http://example.com////../.." about:blank ie nodejs
121 "http://example.com/foo/bar//../.." about:blank ie nodejs
122 "http://example.com/foo/bar//.." about:blank ie nodejs
123 "http://example.com/foo" about:blank ie
124 "http://example.com/%20foo" about:blank ie
125 "http://example.com/foo%" about:blank ie
126 "http://example.com/foo%2" about:blank ie
127 "http://example.com/foo%2zbar" about:blank ie
128 "http://example.com/foo%2©zbar" about:blank addressable ie nodejs
129 "http://example.com/foo%41%7a" about:blank chrome ie
130 "http://example.com/foo\t\u0091%91" about:blank addressable ie nodejs
131 "http://example.com/foo%00%51" about:blank chrome ie
132 "http://example.com/(%28:%3A%29)" about:blank ie
133 "http://example.com/%3A%3a%3C%3c" about:blank ie
134 "http://example.com/foo\tbar" about:blank addressable ie nodejs
135 "http://example.com\\\\foo\\\\bar" about:blank addressable firefox ie opera
136 "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd" about:blank ie
137 "http://example.com/@asdf%40" about:blank ie
138 "http://example.com/你好你好" about:blank addressable ie nodejs
139 "http://example.com/‥/foo" about:blank addressable ie nodejs
140 "http://example.com//foo" about:blank addressable ie nodejs
141 "http://example.com/‮/foo/‭/bar" about:blank addressable ie nodejs
142 "http://www.google.com/foo?bar=baz#" about:blank ie nodejs rust
143 "http://www.google.com/foo?bar=baz# »" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
144 "http://[www.google.com]/" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
145 "http://www.google.com" about:blank addressable ie
146 "http://192.0x00A80001" about:blank addressable chrome ie
147 "http://www/foo%2Ehtml" about:blank chrome ie
148 "http://www/foo/%2E/html" about:blank addressable ie nodejs safari
149 "http://user:pass@/" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
150 "http://%25DOMAIN:foobar@foodomain.com/" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
151 "http:\\\\www.google.com\\foo" about:blank addressable firefox ie opera
152 "http://foo:80/" about:blank addressable ie nodejs
153 "http://foo:81/" about:blank
154 "httpa://foo:80/" about:blank testdata addressable chrome ie nodejs opera safari
155 "http://foo:-80/" about:blank addressable chrome firefox ie nodejs opera
156 "https://foo:443/" about:blank addressable ie nodejs opera
157 "https://foo:80/" about:blank
158 "ftp://foo:21/" about:blank addressable ie nodejs opera
159 "ftp://foo:80/" about:blank
160 "gopher://foo:70/" about:blank addressable firefox ie nodejs opera
161 "gopher://foo:443/" about:blank firefox
162 "ws://foo:80/" about:blank addressable ie nodejs
163 "ws://foo:81/" about:blank
164 "ws://foo:443/" about:blank
165 "ws://foo:815/" about:blank
166 "wss://foo:80/" about:blank
167 "wss://foo:81/" about:blank
168 "wss://foo:443/" about:blank addressable ie nodejs
169 "wss://foo:815/" about:blank
170 "http:/example.com/" about:blank addressable ie opera
171 "ftp:/example.com/" about:blank addressable ie opera
172 "https:/example.com/" about:blank addressable ie opera
173 "madeupscheme:/example.com/" about:blank firefox opera rust
174 "file:/example.com/" about:blank addressable nodejs opera
175 "ftps:/example.com/" about:blank firefox opera rust
176 "gopher:/example.com/" about:blank addressable firefox ie opera
177 "ws:/example.com/" about:blank addressable ie nodejs opera
178 "wss:/example.com/" about:blank addressable ie nodejs opera
179 "data:/example.com/" about:blank firefox opera rust
180 "javascript:/example.com/" about:blank firefox opera rust
181 "mailto:/example.com/" about:blank firefox opera rust
182 "http:example.com/" about:blank addressable ie opera
183 "ftp:example.com/" about:blank addressable ie opera
184 "https:example.com/" about:blank addressable ie opera
185 "madeupscheme:example.com/" about:blank firefox nodejs rust
186 "ftps:example.com/" about:blank firefox nodejs rust
187 "gopher:example.com/" about:blank addressable firefox ie opera
188 "ws:example.com/" about:blank addressable ie nodejs opera
189 "wss:example.com/" about:blank addressable ie nodejs opera
190 "data:example.com/" about:blank firefox nodejs rust
191 "javascript:example.com/" about:blank firefox rust
192 "mailto:example.com/" about:blank firefox nodejs rust
193 "http:@www.example.com" about:blank addressable ie opera
194 "http:/@www.example.com" about:blank addressable ie opera
195 "http://@www.example.com" about:blank addressable ie
196 "http:a:b@www.example.com" about:blank addressable ie opera safari
197 "http:/a:b@www.example.com" about:blank addressable ie opera safari
198 "http://a:b@www.example.com" about:blank addressable ie opera safari
199 "http://@pple.com" about:blank addressable ie
200 "http::b@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust
201 "http:/:b@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust
202 "http://:b@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust
203 "http:/:@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
204 "http://user@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
205 "http:@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
206 "http:/@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
207 "http://@/www.example.com" about:blank testdata addressable chrome firefox nodejs opera rust safari
208 "https:@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
209 "http:a:b@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
210 "http:/a:b@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
211 "http://a:b@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
212 "http::@/www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
213 "http:a:@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
214 "http:/a:@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
215 "http://a:@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
216 "http://www.@pple.com" about:blank testdata addressable chrome firefox ie nodejs opera rust
217 "http:@:www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
218 "http:/@:www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
219 "http://@:www.example.com" about:blank testdata chrome firefox ie nodejs opera rust safari
220 "http://:@www.example.com" about:blank testdata addressable chrome firefox ie nodejs opera rust safari
221 "/" http://www.example.com/test ie
222 "/test.txt" http://www.example.com/test ie
223 "." http://www.example.com/test ie
224 ".." http://www.example.com/test ie
225 "test.txt" http://www.example.com/test ie
226 "./test.txt" http://www.example.com/test ie
227 "../test.txt" http://www.example.com/test ie
228 "../aaa/test.txt" http://www.example.com/test ie
229 "../../test.txt" http://www.example.com/test ie
230 "中/test.txt" http://www.example.com/test addressable ie nodejs
231 "http://www.example2.com" http://www.example.com/test addressable ie
232 "//www.example2.com" http://www.example.com/test addressable ie
233 "http://ExAmPlE.CoM" http://other.com/ addressable ie
234 "http://example example.com" http://other.com/ testdata addressable chrome ie nodejs opera rust safari
235 "http://Goo%20 goo%7C|.com" http://other.com/ testdata addressable chrome ie nodejs opera rust safari
236 "http://GOO  goo.com" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
237 "http://GOO​⁠goo.com" http://other.com/ addressable ie nodejs opera rust
238 "http://www.foo。bar.com" http://other.com/ addressable ie rust
239 "http://\uFDD0zyx.com" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
240 "http://%ef%b7%90zyx.com" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
241 "http://Go.com" http://other.com/ addressable ie nodejs rust
242 "http://%41.com" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
243 "http://%ef%bc%85%ef%bc%94%ef%bc%91.com" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
244 "http://%00.com" http://other.com/ testdata addressable chrome firefox nodejs opera rust safari
245 "http://%ef%bc%85%ef%bc%90%ef%bc%90.com" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
246 "http://你好你好" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
247 "http://%zz%66%a.com" http://other.com/ testdata addressable chrome firefox nodejs opera rust safari
248 "http://%25" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
249 "http://hello%00" http://other.com/ testdata addressable chrome firefox nodejs opera rust safari
250 "http://%30%78%63%30%2e%30%32%35%30.01" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
251 "http://%30%78%63%30%2e%30%32%35%30.01%2e" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari
252 "http://192.168.0.257" http://other.com/ addressable chrome ie
253 "http://%3g%78%63%30%2e%30%32%35%30%2E.01" http://other.com/ testdata addressable chrome firefox nodejs opera rust safari
254 "http://192.168.0.1 hello" http://other.com/ testdata addressable chrome ie nodejs opera rust safari
255 "http://0Xc0.0250.01" http://other.com/ addressable chrome ie nodejs rust
256 "http://[google.com]" http://other.com/ testdata addressable chrome firefox ie nodejs opera rust safari

Legend