3 PASS Parsing: <http://example .
4 org> against <http://example.org/foo/bar>
5 PASS Parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar>
6 PASS Parsing: <http:foo.com> against <http://example.org/foo/bar>
7 PASS Parsing: < :foo.com
8 > against <http://example.org/foo/bar>
9 PASS Parsing: < foo.com > against <http://example.org/foo/bar>
10 PASS Parsing: <a: foo.com> against <http://example.org/foo/bar>
11 PASS Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar>
12 PASS Parsing: <http://f:/c> against <http://example.org/foo/bar>
13 PASS Parsing: <http://f:0/c> against <http://example.org/foo/bar>
14 PASS Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar>
15 PASS Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar>
16 PASS Parsing: <http://f:b/c> against <http://example.org/foo/bar>
17 PASS Parsing: <http://f: /c> against <http://example.org/foo/bar>
18 PASS Parsing: <http://f:
19 /c> against <http://example.org/foo/bar>
20 PASS Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar>
21 PASS Parsing: <http://f:999999/c> against <http://example.org/foo/bar>
22 FAIL Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar> assert_equals: failure should set href to input expected "http://f: 21 / b ? d # e " but got "http://f: 21 / b ? d # e"
23 PASS Parsing: <> against <http://example.org/foo/bar>
24 PASS Parsing: < > against <http://example.org/foo/bar>
25 PASS Parsing: <:foo.com/> against <http://example.org/foo/bar>
26 PASS Parsing: <:foo.com\> against <http://example.org/foo/bar>
27 PASS Parsing: <:> against <http://example.org/foo/bar>
28 PASS Parsing: <:a> against <http://example.org/foo/bar>
29 PASS Parsing: <:/> against <http://example.org/foo/bar>
30 PASS Parsing: <:\> against <http://example.org/foo/bar>
31 PASS Parsing: <:#> against <http://example.org/foo/bar>
32 PASS Parsing: <#> against <http://example.org/foo/bar>
33 PASS Parsing: <#/> against <http://example.org/foo/bar>
34 PASS Parsing: <#\> against <http://example.org/foo/bar>
35 PASS Parsing: <#;?> against <http://example.org/foo/bar>
36 PASS Parsing: <?> against <http://example.org/foo/bar>
37 PASS Parsing: </> against <http://example.org/foo/bar>
38 PASS Parsing: <:23> against <http://example.org/foo/bar>
39 PASS Parsing: </:23> against <http://example.org/foo/bar>
40 PASS Parsing: <::> against <http://example.org/foo/bar>
41 PASS Parsing: <::23> against <http://example.org/foo/bar>
42 FAIL Parsing: <foo://> against <http://example.org/foo/bar> assert_equals: href expected "foo:///" but got "foo://"
43 PASS Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar>
44 PASS Parsing: <http::@c:29> against <http://example.org/foo/bar>
45 PASS Parsing: <http://&a:foo(b]c@d:2/> against <http://example.org/foo/bar>
46 PASS Parsing: <http://::@c@d:2> against <http://example.org/foo/bar>
47 PASS Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar>
48 PASS Parsing: <http://foo.com/\@> against <http://example.org/foo/bar>
49 PASS Parsing: <http:\\foo.com\> against <http://example.org/foo/bar>
50 PASS Parsing: <http:\\a\b:c\d@foo.com\> against <http://example.org/foo/bar>
51 PASS Parsing: <foo:/> against <http://example.org/foo/bar>
52 PASS Parsing: <foo:/bar.com/> against <http://example.org/foo/bar>
53 PASS Parsing: <foo://///////> against <http://example.org/foo/bar>
54 PASS Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar>
55 PASS Parsing: <foo:////://///> against <http://example.org/foo/bar>
56 PASS Parsing: <c:/foo> against <http://example.org/foo/bar>
57 PASS Parsing: <//foo/bar> against <http://example.org/foo/bar>
58 PASS Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar>
59 PASS Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar>
60 PASS Parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar>
61 PASS Parsing: <[61:24:74]:98> against <http://example.org/foo/bar>
62 PASS Parsing: <http:[61:27]/:foo> against <http://example.org/foo/bar>
63 PASS Parsing: <http://[1::2]:3:4> against <http://example.org/foo/bar>
64 PASS Parsing: <http://2001::1> against <http://example.org/foo/bar>
65 PASS Parsing: <http://2001::1]> against <http://example.org/foo/bar>
66 PASS Parsing: <http://2001::1]:80> against <http://example.org/foo/bar>
67 PASS Parsing: <http://[2001::1]> against <http://example.org/foo/bar>
68 PASS Parsing: <http://[2001::1]:80> against <http://example.org/foo/bar>
69 PASS Parsing: <http:/example.com/> against <http://example.org/foo/bar>
70 PASS Parsing: <ftp:/example.com/> against <http://example.org/foo/bar>
71 PASS Parsing: <https:/example.com/> against <http://example.org/foo/bar>
72 PASS Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar>
73 PASS Parsing: <file:/example.com/> against <http://example.org/foo/bar>
74 PASS Parsing: <ftps:/example.com/> against <http://example.org/foo/bar>
75 PASS Parsing: <gopher:/example.com/> against <http://example.org/foo/bar>
76 PASS Parsing: <ws:/example.com/> against <http://example.org/foo/bar>
77 PASS Parsing: <wss:/example.com/> against <http://example.org/foo/bar>
78 PASS Parsing: <data:/example.com/> against <http://example.org/foo/bar>
79 PASS Parsing: <javascript:/example.com/> against <http://example.org/foo/bar>
80 PASS Parsing: <mailto:/example.com/> against <http://example.org/foo/bar>
81 PASS Parsing: <http:example.com/> against <http://example.org/foo/bar>
82 PASS Parsing: <ftp:example.com/> against <http://example.org/foo/bar>
83 PASS Parsing: <https:example.com/> against <http://example.org/foo/bar>
84 PASS Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar>
85 PASS Parsing: <ftps:example.com/> against <http://example.org/foo/bar>
86 PASS Parsing: <gopher:example.com/> against <http://example.org/foo/bar>
87 PASS Parsing: <ws:example.com/> against <http://example.org/foo/bar>
88 PASS Parsing: <wss:example.com/> against <http://example.org/foo/bar>
89 PASS Parsing: <data:example.com/> against <http://example.org/foo/bar>
90 PASS Parsing: <javascript:example.com/> against <http://example.org/foo/bar>
91 PASS Parsing: <mailto:example.com/> against <http://example.org/foo/bar>
92 PASS Parsing: </a/b/c> against <http://example.org/foo/bar>
93 PASS Parsing: </a/ /c> against <http://example.org/foo/bar>
94 PASS Parsing: </a%2fc> against <http://example.org/foo/bar>
95 PASS Parsing: </a/%2f/c> against <http://example.org/foo/bar>
96 FAIL Parsing: <#β> against <http://example.org/foo/bar> assert_equals: href expected "http://example.org/foo/bar#β" but got "http://example.org/foo/bar#%CE%B2"
97 PASS Parsing: <data:text/html,test#test> against <http://example.org/foo/bar>
98 PASS Parsing: <tel:1234567890> against <http://example.org/foo/bar>
99 PASS Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path>
100 PASS Parsing: < File:c|////foo\bar.html> against <file:///tmp/mock/path>
101 PASS Parsing: <C|/foo/bar> against <file:///tmp/mock/path>
102 PASS Parsing: </C|\foo\bar> against <file:///tmp/mock/path>
103 PASS Parsing: <//C|/foo/bar> against <file:///tmp/mock/path>
104 PASS Parsing: <//server/file> against <file:///tmp/mock/path>
105 PASS Parsing: <\\server\file> against <file:///tmp/mock/path>
106 PASS Parsing: </\server/file> against <file:///tmp/mock/path>
107 PASS Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path>
108 PASS Parsing: <file:///home/me> against <file:///tmp/mock/path>
109 PASS Parsing: <//> against <file:///tmp/mock/path>
110 PASS Parsing: <///> against <file:///tmp/mock/path>
111 PASS Parsing: <///test> against <file:///tmp/mock/path>
112 PASS Parsing: <file://test> against <file:///tmp/mock/path>
113 PASS Parsing: <file://localhost> against <file:///tmp/mock/path>
114 PASS Parsing: <file://localhost/> against <file:///tmp/mock/path>
115 PASS Parsing: <file://localhost/test> against <file:///tmp/mock/path>
116 PASS Parsing: <test> against <file:///tmp/mock/path>
117 PASS Parsing: <file:test> against <file:///tmp/mock/path>
118 PASS Parsing: <http://example.com/././foo> against <about:blank>
119 PASS Parsing: <http://example.com/./.foo> against <about:blank>
120 PASS Parsing: <http://example.com/foo/.> against <about:blank>
121 PASS Parsing: <http://example.com/foo/./> against <about:blank>
122 PASS Parsing: <http://example.com/foo/bar/..> against <about:blank>
123 PASS Parsing: <http://example.com/foo/bar/../> against <about:blank>
124 PASS Parsing: <http://example.com/foo/..bar> against <about:blank>
125 PASS Parsing: <http://example.com/foo/bar/../ton> against <about:blank>
126 PASS Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank>
127 PASS Parsing: <http://example.com/foo/../../..> against <about:blank>
128 PASS Parsing: <http://example.com/foo/../../../ton> against <about:blank>
129 PASS Parsing: <http://example.com/foo/%2e> against <about:blank>
130 FAIL Parsing: <http://example.com/foo/%2e%2> against <about:blank> assert_equals: href expected "http://example.com/foo/.%2" but got "http://example.com/foo/%2e%2"
131 FAIL Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank> assert_equals: href expected "http://example.com/..bar" but got "http://example.com/%2e.bar"
132 PASS Parsing: <http://example.com////../..> against <about:blank>
133 PASS Parsing: <http://example.com/foo/bar//../..> against <about:blank>
134 PASS Parsing: <http://example.com/foo/bar//..> against <about:blank>
135 PASS Parsing: <http://example.com/foo> against <about:blank>
136 PASS Parsing: <http://example.com/%20foo> against <about:blank>
137 PASS Parsing: <http://example.com/foo%> against <about:blank>
138 PASS Parsing: <http://example.com/foo%2> against <about:blank>
139 PASS Parsing: <http://example.com/foo%2zbar> against <about:blank>
140 PASS Parsing: <http://example.com/foo%2©zbar> against <about:blank>
141 PASS Parsing: <http://example.com/foo%41%7a> against <about:blank>
142 PASS Parsing: <http://example.com/foo
\91%91> against <about:blank>
143 PASS Parsing: <http://example.com/foo%00%51> against <about:blank>
144 PASS Parsing: <http://example.com/(%28:%3A%29)> against <about:blank>
145 PASS Parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank>
146 PASS Parsing: <http://example.com/foo bar> against <about:blank>
147 PASS Parsing: <http://example.com\\foo\\bar> against <about:blank>
148 PASS Parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank>
149 PASS Parsing: <http://example.com/@asdf%40> against <about:blank>
150 PASS Parsing: <http://example.com/你好你好> against <about:blank>
151 PASS Parsing: <http://example.com/‥/foo> against <about:blank>
152 PASS Parsing: <http://example.com//foo> against <about:blank>
153 PASS Parsing: <http://example.com//foo//bar> against <about:blank>
154 PASS Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank>
155 FAIL Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank> assert_equals: href expected "http://www.google.com/foo?bar=baz# »" but got "http://www.google.com/foo?bar=baz# %C2%BB"
156 FAIL Parsing: <data:test# »> against <about:blank> assert_equals: href expected "data:test# »" but got "data:test# %C2%BB"
157 PASS Parsing: <http://[www.google.com]/> against <about:blank>
158 PASS Parsing: <http://www.google.com> against <about:blank>
159 PASS Parsing: <http://192.0x00A80001> against <about:blank>
160 FAIL Parsing: <http://www/foo%2Ehtml> against <about:blank> assert_equals: href expected "http://www/foo.html" but got "http://www/foo%2Ehtml"
161 PASS Parsing: <http://www/foo/%2E/html> against <about:blank>
162 PASS Parsing: <http://user:pass@/> against <about:blank>
163 PASS Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank>
164 PASS Parsing: <http:\\www.google.com\foo> against <about:blank>
165 PASS Parsing: <http://foo:80/> against <about:blank>
166 PASS Parsing: <http://foo:81/> against <about:blank>
167 PASS Parsing: <httpa://foo:80/> against <about:blank>
168 PASS Parsing: <http://foo:-80/> against <about:blank>
169 PASS Parsing: <https://foo:443/> against <about:blank>
170 PASS Parsing: <https://foo:80/> against <about:blank>
171 PASS Parsing: <ftp://foo:21/> against <about:blank>
172 PASS Parsing: <ftp://foo:80/> against <about:blank>
173 PASS Parsing: <gopher://foo:70/> against <about:blank>
174 PASS Parsing: <gopher://foo:443/> against <about:blank>
175 PASS Parsing: <ws://foo:80/> against <about:blank>
176 PASS Parsing: <ws://foo:81/> against <about:blank>
177 PASS Parsing: <ws://foo:443/> against <about:blank>
178 PASS Parsing: <ws://foo:815/> against <about:blank>
179 PASS Parsing: <wss://foo:80/> against <about:blank>
180 PASS Parsing: <wss://foo:81/> against <about:blank>
181 PASS Parsing: <wss://foo:443/> against <about:blank>
182 PASS Parsing: <wss://foo:815/> against <about:blank>
183 PASS Parsing: <http:/example.com/> against <about:blank>
184 PASS Parsing: <ftp:/example.com/> against <about:blank>
185 PASS Parsing: <https:/example.com/> against <about:blank>
186 PASS Parsing: <madeupscheme:/example.com/> against <about:blank>
187 PASS Parsing: <file:/example.com/> against <about:blank>
188 PASS Parsing: <ftps:/example.com/> against <about:blank>
189 PASS Parsing: <gopher:/example.com/> against <about:blank>
190 PASS Parsing: <ws:/example.com/> against <about:blank>
191 PASS Parsing: <wss:/example.com/> against <about:blank>
192 PASS Parsing: <data:/example.com/> against <about:blank>
193 PASS Parsing: <javascript:/example.com/> against <about:blank>
194 PASS Parsing: <mailto:/example.com/> against <about:blank>
195 PASS Parsing: <http:example.com/> against <about:blank>
196 PASS Parsing: <ftp:example.com/> against <about:blank>
197 PASS Parsing: <https:example.com/> against <about:blank>
198 PASS Parsing: <madeupscheme:example.com/> against <about:blank>
199 PASS Parsing: <ftps:example.com/> against <about:blank>
200 PASS Parsing: <gopher:example.com/> against <about:blank>
201 PASS Parsing: <ws:example.com/> against <about:blank>
202 PASS Parsing: <wss:example.com/> against <about:blank>
203 PASS Parsing: <data:example.com/> against <about:blank>
204 PASS Parsing: <javascript:example.com/> against <about:blank>
205 PASS Parsing: <mailto:example.com/> against <about:blank>
206 PASS Parsing: <http:@www.example.com> against <about:blank>
207 PASS Parsing: <http:/@www.example.com> against <about:blank>
208 PASS Parsing: <http://@www.example.com> against <about:blank>
209 PASS Parsing: <http:a:b@www.example.com> against <about:blank>
210 PASS Parsing: <http:/a:b@www.example.com> against <about:blank>
211 PASS Parsing: <http://a:b@www.example.com> against <about:blank>
212 PASS Parsing: <http://@pple.com> against <about:blank>
213 PASS Parsing: <http::b@www.example.com> against <about:blank>
214 PASS Parsing: <http:/:b@www.example.com> against <about:blank>
215 PASS Parsing: <http://:b@www.example.com> against <about:blank>
216 PASS Parsing: <http:/:@/www.example.com> against <about:blank>
217 PASS Parsing: <http://user@/www.example.com> against <about:blank>
218 PASS Parsing: <http:@/www.example.com> against <about:blank>
219 PASS Parsing: <http:/@/www.example.com> against <about:blank>
220 PASS Parsing: <http://@/www.example.com> against <about:blank>
221 PASS Parsing: <https:@/www.example.com> against <about:blank>
222 PASS Parsing: <http:a:b@/www.example.com> against <about:blank>
223 PASS Parsing: <http:/a:b@/www.example.com> against <about:blank>
224 PASS Parsing: <http://a:b@/www.example.com> against <about:blank>
225 PASS Parsing: <http::@/www.example.com> against <about:blank>
226 FAIL Parsing: <http:a:@www.example.com> against <about:blank> assert_equals: href expected "http://a:@www.example.com/" but got "http://a@www.example.com/"
227 FAIL Parsing: <http:/a:@www.example.com> against <about:blank> assert_equals: href expected "http://a:@www.example.com/" but got "http://a@www.example.com/"
228 FAIL Parsing: <http://a:@www.example.com> against <about:blank> assert_equals: href expected "http://a:@www.example.com/" but got "http://a@www.example.com/"
229 PASS Parsing: <http://www.@pple.com> against <about:blank>
230 PASS Parsing: <http:@:www.example.com> against <about:blank>
231 PASS Parsing: <http:/@:www.example.com> against <about:blank>
232 PASS Parsing: <http://@:www.example.com> against <about:blank>
233 FAIL Parsing: <http://:@www.example.com> against <about:blank> assert_equals: href expected "http://:@www.example.com/" but got "http://www.example.com/"
234 PASS Parsing: </> against <http://www.example.com/test>
235 PASS Parsing: </test.txt> against <http://www.example.com/test>
236 PASS Parsing: <.> against <http://www.example.com/test>
237 PASS Parsing: <..> against <http://www.example.com/test>
238 PASS Parsing: <test.txt> against <http://www.example.com/test>
239 PASS Parsing: <./test.txt> against <http://www.example.com/test>
240 PASS Parsing: <../test.txt> against <http://www.example.com/test>
241 PASS Parsing: <../aaa/test.txt> against <http://www.example.com/test>
242 PASS Parsing: <../../test.txt> against <http://www.example.com/test>
243 PASS Parsing: <中/test.txt> against <http://www.example.com/test>
244 PASS Parsing: <http://www.example2.com> against <http://www.example.com/test>
245 PASS Parsing: <//www.example2.com> against <http://www.example.com/test>
246 PASS Parsing: <file:...> against <http://www.example.com/test>
247 PASS Parsing: <file:..> against <http://www.example.com/test>
248 PASS Parsing: <file:a> against <http://www.example.com/test>
249 PASS Parsing: <http://ExAmPlE.CoM> against <http://other.com/>
250 PASS Parsing: <http://example example.com> against <http://other.com/>
251 PASS Parsing: <http://Goo%20 goo%7C|.com> against <http://other.com/>
252 PASS Parsing: <http://[]> against <http://other.com/>
253 PASS Parsing: <http://[:]> against <http://other.com/>
254 PASS Parsing: <http://GOO goo.com> against <http://other.com/>
255 PASS Parsing: <http://GOOgoo.com> against <http://other.com/>
256 PASS Parsing: <http://www.foo。bar.com> against <http://other.com/>
257 PASS Parsing: <http://zyx.com> against <http://other.com/>
258 PASS Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/>
259 PASS Parsing: <http://Go.com> against <http://other.com/>
260 PASS Parsing: <http://%41.com> against <http://other.com/>
261 PASS Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/>
262 PASS Parsing: <http://%00.com> against <http://other.com/>
263 PASS Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/>
264 PASS Parsing: <http://你好你好> against <http://other.com/>
265 PASS Parsing: <http://%zz%66%a.com> against <http://other.com/>
266 PASS Parsing: <http://%25> against <http://other.com/>
267 PASS Parsing: <http://hello%00> against <http://other.com/>
268 PASS Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/>
269 PASS Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/>
270 FAIL Parsing: <http://192.168.0.257> against <http://other.com/> assert_unreached: Expected URL to fail parsing Reached unreachable code
271 PASS Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/>
272 PASS Parsing: <http://192.168.0.1 hello> against <http://other.com/>
273 PASS Parsing: <http://0Xc0.0250.01> against <http://other.com/>
274 PASS Parsing: <http://[google.com]> against <http://other.com/>
275 PASS Parsing: <http://foo:💩@example.com/bar> against <http://other.com/>
276 PASS Parsing: <#> against <test:test>
277 PASS Parsing: <#x> against <mailto:x@x.com>
278 PASS Parsing: <#x> against <data:,>
279 PASS Parsing: <#x> against <about:blank>
280 PASS Parsing: <#> against <test:test?test>
281 PASS Parsing: <https://@test@test@example:800/> against <http://doesnotmatter/>
282 PASS Parsing: <https://@@@example> against <http://doesnotmatter/>
283 PASS Parsing: <http://`{}:`{}@h/`{}?`{}> against <http://doesnotmatter/>
284 PASS Parsing: </some/path> against <http://user@example.org/smth>
285 PASS Parsing: <> against <http://user:pass@example.org:21/smth>
286 PASS Parsing: </some/path> against <http://user:pass@example.org:21/smth>
287 PASS Parsing: <i> against <sc:sd>
288 PASS Parsing: <i> against <sc:sd/sd>
289 PASS Parsing: <i> against <sc:/pa/pa>
290 PASS Parsing: <i> against <sc://ho/pa>
291 PASS Parsing: <i> against <sc:///pa/pa>
292 PASS Parsing: <../i> against <sc:sd>
293 PASS Parsing: <../i> against <sc:sd/sd>
294 PASS Parsing: <../i> against <sc:/pa/pa>
295 PASS Parsing: <../i> against <sc://ho/pa>
296 PASS Parsing: <../i> against <sc:///pa/pa>
297 PASS Parsing: </i> against <sc:sd>
298 PASS Parsing: </i> against <sc:sd/sd>
299 PASS Parsing: </i> against <sc:/pa/pa>
300 PASS Parsing: </i> against <sc://ho/pa>
301 PASS Parsing: </i> against <sc:///pa/pa>
302 PASS Parsing: <?i> against <sc:sd>
303 PASS Parsing: <?i> against <sc:sd/sd>
304 PASS Parsing: <?i> against <sc:/pa/pa>
305 PASS Parsing: <?i> against <sc://ho/pa>
306 PASS Parsing: <?i> against <sc:///pa/pa>
307 PASS Parsing: <#i> against <sc:sd>
308 PASS Parsing: <#i> against <sc:sd/sd>
309 PASS Parsing: <#i> against <sc:/pa/pa>
310 PASS Parsing: <#i> against <sc://ho/pa>
311 PASS Parsing: <#i> against <sc:///pa/pa>
312 PASS Parsing: <about:/../> against <about:blank>
313 PASS Parsing: <data:/../> against <about:blank>
314 PASS Parsing: <javascript:/../> against <about:blank>
315 PASS Parsing: <mailto:/../> against <about:blank>
316 FAIL Parsing: <sc://ñ.test/> against <about:blank> assert_equals: href expected "sc://xn--ida.test/" but got "sc://%C3%B1.test/"
317 PASS Parsing: <sc:\../> against <about:blank>
318 PASS Parsing: <sc::a@example.net> against <about:blank>
319 PASS Parsing: <http://127.0.0.1:10100/relative_import.html> against <about:blank>
320 PASS Parsing: <http://facebook.com/?foo=%7B%22abc%22> against <about:blank>
321 PASS Parsing: <https://localhost:3000/jqueryui@1.2.3> against <about:blank>
328 a\rg> against <about:blank>
329 PASS Parsing: <?a=b&c=d> against <http://example.org/foo/bar>
330 PASS Parsing: <??a=b&c=d> against <http://example.org/foo/bar>
331 PASS Parsing: <http:> against <http://example.org/foo/bar>
332 FAIL Parsing: <http:> against <https://example.org/foo/bar> assert_unreached: Expected URL to fail parsing Reached unreachable code
333 PASS Parsing: <sc:> against <https://example.org/foo/bar>