@wordpress/url 3.3.2-next.33ec3857e2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/LICENSE.md +1 -1
- package/package.json +2 -2
- package/src/test/fixtures/wpt-data.json +1 -292
- package/src/test/index.native.js +12 -0
package/CHANGELOG.md
CHANGED
package/LICENSE.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/url",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "WordPress URL utilities.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "d95ccb9366e249133cdb1d7b25c382446b9ee502"
|
|
37
37
|
}
|
|
@@ -1,292 +1 @@
|
|
|
1
|
-
[
|
|
2
|
-
{ "input": "https://test:@test" },
|
|
3
|
-
{ "input": "https://:@test" },
|
|
4
|
-
{ "input": "non-special://test:@test/x" },
|
|
5
|
-
{ "input": "non-special://:@test/x" },
|
|
6
|
-
{ "input": "lolscheme:x x#x x" },
|
|
7
|
-
{ "input": "file://example:1/", "failure": true },
|
|
8
|
-
{ "input": "file://example:test/", "failure": true },
|
|
9
|
-
{ "input": "file://example%/", "failure": true },
|
|
10
|
-
{ "input": "file://[example]/", "failure": true },
|
|
11
|
-
{ "input": "http://example.com/././foo" },
|
|
12
|
-
{ "input": "http://example.com/./.foo" },
|
|
13
|
-
{ "input": "http://example.com/foo/." },
|
|
14
|
-
{ "input": "http://example.com/foo/./" },
|
|
15
|
-
{ "input": "http://example.com/foo/bar/.." },
|
|
16
|
-
{ "input": "http://example.com/foo/bar/../" },
|
|
17
|
-
{ "input": "http://example.com/foo/..bar" },
|
|
18
|
-
{ "input": "http://example.com/foo/bar/../ton" },
|
|
19
|
-
{ "input": "http://example.com/foo/bar/../ton/../../a" },
|
|
20
|
-
{ "input": "http://example.com/foo/../../.." },
|
|
21
|
-
{ "input": "http://example.com/foo/../../../ton" },
|
|
22
|
-
{ "input": "http://example.com/foo/%2e" },
|
|
23
|
-
{ "input": "http://example.com/foo/%2e%2" },
|
|
24
|
-
{ "input": "http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar" },
|
|
25
|
-
{ "input": "http://example.com////../.." },
|
|
26
|
-
{ "input": "http://example.com/foo/bar//../.." },
|
|
27
|
-
{ "input": "http://example.com/foo/bar//.." },
|
|
28
|
-
{ "input": "http://example.com/foo" },
|
|
29
|
-
{ "input": "http://example.com/%20foo" },
|
|
30
|
-
{ "input": "http://example.com/foo%" },
|
|
31
|
-
{ "input": "http://example.com/foo%2" },
|
|
32
|
-
{ "input": "http://example.com/foo%2zbar" },
|
|
33
|
-
{ "input": "http://example.com/foo%2©zbar" },
|
|
34
|
-
{ "input": "http://example.com/foo%41%7a" },
|
|
35
|
-
{ "input": "http://example.com/foo\t%91" },
|
|
36
|
-
{ "input": "http://example.com/foo%00%51" },
|
|
37
|
-
{ "input": "http://example.com/(%28:%3A%29)" },
|
|
38
|
-
{ "input": "http://example.com/%3A%3a%3C%3c" },
|
|
39
|
-
{ "input": "http://example.com/foo\tbar" },
|
|
40
|
-
{ "input": "http://example.com\\\\foo\\\\bar" },
|
|
41
|
-
{ "input": "http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd" },
|
|
42
|
-
{ "input": "http://example.com/@asdf%40" },
|
|
43
|
-
{ "input": "http://example.com/你好你好" },
|
|
44
|
-
{ "input": "http://example.com/‥/foo" },
|
|
45
|
-
{ "input": "http://example.com//foo" },
|
|
46
|
-
{ "input": "http://example.com//foo//bar" },
|
|
47
|
-
{ "input": "http://www.google.com/foo?bar=baz#" },
|
|
48
|
-
{ "input": "http://www.google.com/foo?bar=baz# »" },
|
|
49
|
-
{ "input": "data:test# »" },
|
|
50
|
-
{ "input": "http://www.google.com" },
|
|
51
|
-
{ "input": "http://192.0x00A80001" },
|
|
52
|
-
{ "input": "http://www/foo%2Ehtml" },
|
|
53
|
-
{ "input": "http://www/foo/%2E/html" },
|
|
54
|
-
{ "input": "http://user:pass@/", "failure": true },
|
|
55
|
-
{ "input": "http://%25DOMAIN:foobar@foodomain.com/" },
|
|
56
|
-
{ "input": "http:\\\\www.google.com\\foo" },
|
|
57
|
-
{ "input": "http://foo:80/" },
|
|
58
|
-
{ "input": "http://foo:81/" },
|
|
59
|
-
{ "input": "httpa://foo:80/" },
|
|
60
|
-
{ "input": "http://foo:-80/", "failure": true },
|
|
61
|
-
{ "input": "https://foo:443/" },
|
|
62
|
-
{ "input": "https://foo:80/" },
|
|
63
|
-
{ "input": "ftp://foo:21/" },
|
|
64
|
-
{ "input": "ftp://foo:80/" },
|
|
65
|
-
{ "input": "gopher://foo:70/" },
|
|
66
|
-
{ "input": "gopher://foo:443/" },
|
|
67
|
-
{ "input": "ws://foo:80/" },
|
|
68
|
-
{ "input": "ws://foo:81/" },
|
|
69
|
-
{ "input": "ws://foo:443/" },
|
|
70
|
-
{ "input": "ws://foo:815/" },
|
|
71
|
-
{ "input": "wss://foo:80/" },
|
|
72
|
-
{ "input": "wss://foo:81/" },
|
|
73
|
-
{ "input": "wss://foo:443/" },
|
|
74
|
-
{ "input": "wss://foo:815/" },
|
|
75
|
-
{ "input": "http:/example.com/" },
|
|
76
|
-
{ "input": "ftp:/example.com/" },
|
|
77
|
-
{ "input": "https:/example.com/" },
|
|
78
|
-
{ "input": "madeupscheme:/example.com/" },
|
|
79
|
-
{ "input": "file:/example.com/" },
|
|
80
|
-
{ "input": "ftps:/example.com/" },
|
|
81
|
-
{ "input": "gopher:/example.com/" },
|
|
82
|
-
{ "input": "ws:/example.com/" },
|
|
83
|
-
{ "input": "wss:/example.com/" },
|
|
84
|
-
{ "input": "data:/example.com/" },
|
|
85
|
-
{ "input": "javascript:/example.com/" },
|
|
86
|
-
{ "input": "mailto:/example.com/" },
|
|
87
|
-
{ "input": "http:example.com/" },
|
|
88
|
-
{ "input": "ftp:example.com/" },
|
|
89
|
-
{ "input": "https:example.com/" },
|
|
90
|
-
{ "input": "madeupscheme:example.com/" },
|
|
91
|
-
{ "input": "ftps:example.com/" },
|
|
92
|
-
{ "input": "gopher:example.com/" },
|
|
93
|
-
{ "input": "ws:example.com/" },
|
|
94
|
-
{ "input": "wss:example.com/" },
|
|
95
|
-
{ "input": "data:example.com/" },
|
|
96
|
-
{ "input": "javascript:example.com/" },
|
|
97
|
-
{ "input": "mailto:example.com/" },
|
|
98
|
-
{ "input": "http:@www.example.com" },
|
|
99
|
-
{ "input": "http:/@www.example.com" },
|
|
100
|
-
{ "input": "http://@www.example.com" },
|
|
101
|
-
{ "input": "http:a:b@www.example.com" },
|
|
102
|
-
{ "input": "http:/a:b@www.example.com" },
|
|
103
|
-
{ "input": "http://a:b@www.example.com" },
|
|
104
|
-
{ "input": "http://@pple.com" },
|
|
105
|
-
{ "input": "http::b@www.example.com" },
|
|
106
|
-
{ "input": "http:/:b@www.example.com" },
|
|
107
|
-
{ "input": "http://:b@www.example.com" },
|
|
108
|
-
{ "input": "http:/:@/www.example.com", "failure": true },
|
|
109
|
-
{ "input": "http://user@/www.example.com", "failure": true },
|
|
110
|
-
{ "input": "http:@/www.example.com", "failure": true },
|
|
111
|
-
{ "input": "http:/@/www.example.com", "failure": true },
|
|
112
|
-
{ "input": "http://@/www.example.com", "failure": true },
|
|
113
|
-
{ "input": "https:@/www.example.com", "failure": true },
|
|
114
|
-
{ "input": "http:a:b@/www.example.com", "failure": true },
|
|
115
|
-
{ "input": "http:/a:b@/www.example.com", "failure": true },
|
|
116
|
-
{ "input": "http://a:b@/www.example.com", "failure": true },
|
|
117
|
-
{ "input": "http::@/www.example.com", "failure": true },
|
|
118
|
-
{ "input": "http:a:@www.example.com" },
|
|
119
|
-
{ "input": "http:/a:@www.example.com" },
|
|
120
|
-
{ "input": "http://a:@www.example.com" },
|
|
121
|
-
{ "input": "http://www.@pple.com" },
|
|
122
|
-
{ "input": "http:@:www.example.com", "failure": true },
|
|
123
|
-
{ "input": "http:/@:www.example.com", "failure": true },
|
|
124
|
-
{ "input": "http://@:www.example.com", "failure": true },
|
|
125
|
-
{ "input": "http://:@www.example.com" },
|
|
126
|
-
{ "input": "\u0000\u001b\u0004\u0012 http://example.com/\u001f \r " },
|
|
127
|
-
{ "input": "https://�", "failure": true },
|
|
128
|
-
{ "input": "https://%EF%BF%BD", "failure": true },
|
|
129
|
-
{ "input": "https://x/�?�#�" },
|
|
130
|
-
{ "input": "https://faß.ExAmPlE/" },
|
|
131
|
-
{ "input": "sc://faß.ExAmPlE/" },
|
|
132
|
-
{ "input": "https://x x:12", "failure": true },
|
|
133
|
-
{ "input": "http://./" },
|
|
134
|
-
{ "input": "http://../" },
|
|
135
|
-
{ "input": "http://0..0x300/" },
|
|
136
|
-
{ "input": "http://[www.google.com]/", "failure": true },
|
|
137
|
-
{ "input": "http://host/?'" },
|
|
138
|
-
{ "input": "notspecial://host/?'" },
|
|
139
|
-
{ "input": "about:/../" },
|
|
140
|
-
{ "input": "data:/../" },
|
|
141
|
-
{ "input": "javascript:/../" },
|
|
142
|
-
{ "input": "mailto:/../" },
|
|
143
|
-
{ "input": "sc://ñ.test/" },
|
|
144
|
-
{ "input": "sc://\u0000/", "failure": true },
|
|
145
|
-
{ "input": "sc:// /", "failure": true },
|
|
146
|
-
{ "input": "sc://%/" },
|
|
147
|
-
{ "input": "sc://@/", "failure": true },
|
|
148
|
-
{ "input": "sc://te@s:t@/", "failure": true },
|
|
149
|
-
{ "input": "sc://:/", "failure": true },
|
|
150
|
-
{ "input": "sc://:12/", "failure": true },
|
|
151
|
-
{ "input": "sc://[/", "failure": true },
|
|
152
|
-
{ "input": "sc://\\/", "failure": true },
|
|
153
|
-
{ "input": "sc://]/", "failure": true },
|
|
154
|
-
{ "input": "sc:\\../" },
|
|
155
|
-
{ "input": "sc::a@example.net" },
|
|
156
|
-
{ "input": "wow:%NBD" },
|
|
157
|
-
{ "input": "wow:%1G" },
|
|
158
|
-
{ "input": "wow:" },
|
|
159
|
-
{ "input": "http://example.com/\ud800\udfff﷏ﷰ?\ud800\udfff﷏ﷰ" },
|
|
160
|
-
{ "input": "http://a<b", "failure": true },
|
|
161
|
-
{ "input": "http://a>b", "failure": true },
|
|
162
|
-
{ "input": "http://a^b", "failure": true },
|
|
163
|
-
{ "input": "non-special://a<b", "failure": true },
|
|
164
|
-
{ "input": "non-special://a>b", "failure": true },
|
|
165
|
-
{ "input": "non-special://a^b", "failure": true },
|
|
166
|
-
{ "input": "http://\u001f!\"$&'()*+,-.;=_`{|}~/" },
|
|
167
|
-
{ "input": "sc://\u001f!\"$&'()*+,-.;=_`{|}~/" },
|
|
168
|
-
{ "input": "ftp://example.com%80/", "failure": true },
|
|
169
|
-
{ "input": "ftp://example.com%A0/", "failure": true },
|
|
170
|
-
{ "input": "https://example.com%80/", "failure": true },
|
|
171
|
-
{ "input": "https://example.com%A0/", "failure": true },
|
|
172
|
-
{ "input": "ftp://%e2%98%83" },
|
|
173
|
-
{ "input": "https://%e2%98%83" },
|
|
174
|
-
{ "input": "http://127.0.0.1:10100/relative_import.html" },
|
|
175
|
-
{ "input": "http://facebook.com/?foo=%7B%22abc%22" },
|
|
176
|
-
{ "input": "https://localhost:3000/jqueryui@1.2.3" },
|
|
177
|
-
{
|
|
178
|
-
"input": "h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg"
|
|
179
|
-
},
|
|
180
|
-
{ "input": "http://foo.bar/baz?qux#foo\bbar" },
|
|
181
|
-
{ "input": "http://foo.bar/baz?qux#foo\"bar" },
|
|
182
|
-
{ "input": "http://foo.bar/baz?qux#foo<bar" },
|
|
183
|
-
{ "input": "http://foo.bar/baz?qux#foo>bar" },
|
|
184
|
-
{ "input": "http://foo.bar/baz?qux#foo`bar" },
|
|
185
|
-
{ "input": "https://0x.0x.0" },
|
|
186
|
-
{ "input": "https://0x100000000/test", "failure": true },
|
|
187
|
-
{ "input": "https://256.0.0.1/test", "failure": true },
|
|
188
|
-
{ "input": "file:///C%3A/" },
|
|
189
|
-
{ "input": "file:///C%7C/" },
|
|
190
|
-
{ "input": "file:\\\\//" },
|
|
191
|
-
{ "input": "file:\\\\\\\\" },
|
|
192
|
-
{ "input": "file:\\\\\\\\?fox" },
|
|
193
|
-
{ "input": "file:\\\\\\\\#guppy" },
|
|
194
|
-
{ "input": "file://spider///" },
|
|
195
|
-
{ "input": "file:\\\\localhost//" },
|
|
196
|
-
{ "input": "file:///localhost//cat" },
|
|
197
|
-
{ "input": "file://\\/localhost//cat" },
|
|
198
|
-
{ "input": "file://localhost//a//../..//" },
|
|
199
|
-
{ "input": "file://example.net/C:/" },
|
|
200
|
-
{ "input": "file://1.2.3.4/C:/" },
|
|
201
|
-
{ "input": "file://[1::8]/C:/" },
|
|
202
|
-
{ "input": "file:/C|/" },
|
|
203
|
-
{ "input": "file://C|/" },
|
|
204
|
-
{ "input": "file:" },
|
|
205
|
-
{ "input": "file:?q=v" },
|
|
206
|
-
{ "input": "file:#frag" },
|
|
207
|
-
{ "input": "file:///Y:" },
|
|
208
|
-
{ "input": "file:///Y:/" },
|
|
209
|
-
{ "input": "file:///./Y" },
|
|
210
|
-
{ "input": "file:///./Y:" },
|
|
211
|
-
{ "input": "\\\\\\.\\Y:", "failure": true },
|
|
212
|
-
{ "input": "file:///y:" },
|
|
213
|
-
{ "input": "file:///y:/" },
|
|
214
|
-
{ "input": "file:///./y" },
|
|
215
|
-
{ "input": "file:///./y:" },
|
|
216
|
-
{ "input": "\\\\\\.\\y:", "failure": true },
|
|
217
|
-
{ "input": "file://localhost//a//../..//foo" },
|
|
218
|
-
{ "input": "file://localhost////foo" },
|
|
219
|
-
{ "input": "file:////foo" },
|
|
220
|
-
{ "input": "file:.//p" },
|
|
221
|
-
{ "input": "file:/.//p" },
|
|
222
|
-
{ "input": "https://[0::0::0]", "failure": true },
|
|
223
|
-
{ "input": "https://[0:.0]", "failure": true },
|
|
224
|
-
{ "input": "https://[0:0:]", "failure": true },
|
|
225
|
-
{ "input": "https://[0:1:2:3:4:5:6:7.0.0.0.1]", "failure": true },
|
|
226
|
-
{ "input": "https://[0:1.00.0.0.0]", "failure": true },
|
|
227
|
-
{ "input": "https://[0:1.290.0.0.0]", "failure": true },
|
|
228
|
-
{ "input": "https://[0:1.23.23]", "failure": true },
|
|
229
|
-
{ "input": "http://?", "failure": true },
|
|
230
|
-
{ "input": "http://#", "failure": true },
|
|
231
|
-
{ "input": "sc://ñ" },
|
|
232
|
-
{ "input": "sc://ñ?x" },
|
|
233
|
-
{ "input": "sc://ñ#x" },
|
|
234
|
-
{ "input": "sc://?" },
|
|
235
|
-
{ "input": "sc://#" },
|
|
236
|
-
{ "input": "tftp://foobar.com/someconfig;mode=netascii" },
|
|
237
|
-
{ "input": "telnet://user:pass@foobar.com:23/" },
|
|
238
|
-
{ "input": "ut2004://10.10.10.10:7777/Index.ut2" },
|
|
239
|
-
{ "input": "redis://foo:bar@somehost:6379/0?baz=bam&qux=baz" },
|
|
240
|
-
{ "input": "rsync://foo@host:911/sup" },
|
|
241
|
-
{ "input": "git://github.com/foo/bar.git" },
|
|
242
|
-
{ "input": "irc://myserver.com:6999/channel?passwd" },
|
|
243
|
-
{ "input": "dns://fw.example.org:9999/foo.bar.org?type=TXT" },
|
|
244
|
-
{ "input": "ldap://localhost:389/ou=People,o=JNDITutorial" },
|
|
245
|
-
{ "input": "git+https://github.com/foo/bar" },
|
|
246
|
-
{ "input": "urn:ietf:rfc:2648" },
|
|
247
|
-
{ "input": "tag:joe@example.org,2001:foo/bar" },
|
|
248
|
-
{ "input": "non-spec:/.//" },
|
|
249
|
-
{ "input": "non-spec:/..//" },
|
|
250
|
-
{ "input": "non-spec:/a/..//" },
|
|
251
|
-
{ "input": "non-spec:/.//path" },
|
|
252
|
-
{ "input": "non-spec:/..//path" },
|
|
253
|
-
{ "input": "non-spec:/a/..//path" },
|
|
254
|
-
{ "input": "non-special://%E2%80%A0/" },
|
|
255
|
-
{ "input": "non-special://H%4fSt/path" },
|
|
256
|
-
{ "input": "non-special://[1:2:0:0:5:0:0:0]/" },
|
|
257
|
-
{ "input": "non-special://[1:2:0:0:0:0:0:3]/" },
|
|
258
|
-
{ "input": "non-special://[1:2::3]:80/" },
|
|
259
|
-
{ "input": "non-special://[:80/", "failure": true },
|
|
260
|
-
{ "input": "blob:https://example.com:443/" },
|
|
261
|
-
{ "input": "blob:d3958f5c-0777-0845-9dcf-2cb28783acaf" },
|
|
262
|
-
{ "input": "http://0177.0.0.0189" },
|
|
263
|
-
{ "input": "http://0x7f.0.0.0x7g" },
|
|
264
|
-
{ "input": "http://0X7F.0.0.0X7G" },
|
|
265
|
-
{ "input": "http://[::127.0.0.0.1]", "failure": true },
|
|
266
|
-
{ "input": "http://[0:1:0:1:0:1:0:1]" },
|
|
267
|
-
{ "input": "http://[1:0:1:0:1:0:1:0]" },
|
|
268
|
-
{ "input": "http://example.org/test?\"" },
|
|
269
|
-
{ "input": "http://example.org/test?#" },
|
|
270
|
-
{ "input": "http://example.org/test?<" },
|
|
271
|
-
{ "input": "http://example.org/test?>" },
|
|
272
|
-
{ "input": "http://example.org/test?⌣" },
|
|
273
|
-
{ "input": "http://example.org/test?%23%23" },
|
|
274
|
-
{ "input": "http://example.org/test?%GH" },
|
|
275
|
-
{ "input": "http://example.org/test?a#%EF" },
|
|
276
|
-
{ "input": "http://example.org/test?a#%GH" },
|
|
277
|
-
{ "input": "a", "failure": true },
|
|
278
|
-
{ "input": "a/", "failure": true },
|
|
279
|
-
{ "input": "a//", "failure": true },
|
|
280
|
-
{ "input": "http://example.org/test?a#b\u0000c" },
|
|
281
|
-
{ "input": "non-spec://example.org/test?a#b\u0000c" },
|
|
282
|
-
{ "input": "non-spec:/test?a#b\u0000c" },
|
|
283
|
-
{ "input": "file://ab/p" },
|
|
284
|
-
{ "input": "file://a%C2%ADb/p" },
|
|
285
|
-
{ "input": "file:///p", "failure": true },
|
|
286
|
-
{ "input": "file://%C2%AD/p", "failure": true },
|
|
287
|
-
{ "input": "file://xn--/p", "failure": true },
|
|
288
|
-
{ "input": "non-special:cannot-be-a-base-url-\u0000\u0001\u001f\u001e~" },
|
|
289
|
-
{
|
|
290
|
-
"input": "https://www.example.com/path{path.html?query'=query#fragment<fragment"
|
|
291
|
-
}
|
|
292
|
-
]
|
|
1
|
+
[{"input":"https://test:@test"},{"input":"https://:@test"},{"input":"non-special://test:@test/x"},{"input":"non-special://:@test/x"},{"input":"lolscheme:x x#x x"},{"input":"file://example:1/","failure":true},{"input":"file://example:test/","failure":true},{"input":"file://example%/","failure":true},{"input":"file://[example]/","failure":true},{"input":"http://example.com/././foo"},{"input":"http://example.com/./.foo"},{"input":"http://example.com/foo/."},{"input":"http://example.com/foo/./"},{"input":"http://example.com/foo/bar/.."},{"input":"http://example.com/foo/bar/../"},{"input":"http://example.com/foo/..bar"},{"input":"http://example.com/foo/bar/../ton"},{"input":"http://example.com/foo/bar/../ton/../../a"},{"input":"http://example.com/foo/../../.."},{"input":"http://example.com/foo/../../../ton"},{"input":"http://example.com/foo/%2e"},{"input":"http://example.com/foo/%2e%2"},{"input":"http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar"},{"input":"http://example.com////../.."},{"input":"http://example.com/foo/bar//../.."},{"input":"http://example.com/foo/bar//.."},{"input":"http://example.com/foo"},{"input":"http://example.com/%20foo"},{"input":"http://example.com/foo%"},{"input":"http://example.com/foo%2"},{"input":"http://example.com/foo%2zbar"},{"input":"http://example.com/foo%2©zbar"},{"input":"http://example.com/foo%41%7a"},{"input":"http://example.com/foo\t%91"},{"input":"http://example.com/foo%00%51"},{"input":"http://example.com/(%28:%3A%29)"},{"input":"http://example.com/%3A%3a%3C%3c"},{"input":"http://example.com/foo\tbar"},{"input":"http://example.com\\\\foo\\\\bar"},{"input":"http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd"},{"input":"http://example.com/@asdf%40"},{"input":"http://example.com/你好你好"},{"input":"http://example.com/‥/foo"},{"input":"http://example.com//foo"},{"input":"http://example.com//foo//bar"},{"input":"http://www.google.com/foo?bar=baz#"},{"input":"http://www.google.com/foo?bar=baz# »"},{"input":"data:test# »"},{"input":"http://www.google.com"},{"input":"http://192.0x00A80001"},{"input":"http://www/foo%2Ehtml"},{"input":"http://www/foo/%2E/html"},{"input":"http://user:pass@/","failure":true},{"input":"http://%25DOMAIN:foobar@foodomain.com/"},{"input":"http:\\\\www.google.com\\foo"},{"input":"http://foo:80/"},{"input":"http://foo:81/"},{"input":"httpa://foo:80/"},{"input":"http://foo:-80/","failure":true},{"input":"https://foo:443/"},{"input":"https://foo:80/"},{"input":"ftp://foo:21/"},{"input":"ftp://foo:80/"},{"input":"gopher://foo:70/"},{"input":"gopher://foo:443/"},{"input":"ws://foo:80/"},{"input":"ws://foo:81/"},{"input":"ws://foo:443/"},{"input":"ws://foo:815/"},{"input":"wss://foo:80/"},{"input":"wss://foo:81/"},{"input":"wss://foo:443/"},{"input":"wss://foo:815/"},{"input":"http:/example.com/"},{"input":"ftp:/example.com/"},{"input":"https:/example.com/"},{"input":"madeupscheme:/example.com/"},{"input":"file:/example.com/"},{"input":"ftps:/example.com/"},{"input":"gopher:/example.com/"},{"input":"ws:/example.com/"},{"input":"wss:/example.com/"},{"input":"data:/example.com/"},{"input":"javascript:/example.com/"},{"input":"mailto:/example.com/"},{"input":"http:example.com/"},{"input":"ftp:example.com/"},{"input":"https:example.com/"},{"input":"madeupscheme:example.com/"},{"input":"ftps:example.com/"},{"input":"gopher:example.com/"},{"input":"ws:example.com/"},{"input":"wss:example.com/"},{"input":"data:example.com/"},{"input":"javascript:example.com/"},{"input":"mailto:example.com/"},{"input":"http:@www.example.com"},{"input":"http:/@www.example.com"},{"input":"http://@www.example.com"},{"input":"http:a:b@www.example.com"},{"input":"http:/a:b@www.example.com"},{"input":"http://a:b@www.example.com"},{"input":"http://@pple.com"},{"input":"http::b@www.example.com"},{"input":"http:/:b@www.example.com"},{"input":"http://:b@www.example.com"},{"input":"http:/:@/www.example.com","failure":true},{"input":"http://user@/www.example.com","failure":true},{"input":"http:@/www.example.com","failure":true},{"input":"http:/@/www.example.com","failure":true},{"input":"http://@/www.example.com","failure":true},{"input":"https:@/www.example.com","failure":true},{"input":"http:a:b@/www.example.com","failure":true},{"input":"http:/a:b@/www.example.com","failure":true},{"input":"http://a:b@/www.example.com","failure":true},{"input":"http::@/www.example.com","failure":true},{"input":"http:a:@www.example.com"},{"input":"http:/a:@www.example.com"},{"input":"http://a:@www.example.com"},{"input":"http://www.@pple.com"},{"input":"http:@:www.example.com","failure":true},{"input":"http:/@:www.example.com","failure":true},{"input":"http://@:www.example.com","failure":true},{"input":"http://:@www.example.com"},{"input":"\u0000\u001b\u0004\u0012 http://example.com/\u001f \r "},{"input":"https://�","failure":true},{"input":"https://%EF%BF%BD","failure":true},{"input":"https://x/�?�#�"},{"input":"http://a.b.c.xn--pokxncvks","failure":true},{"input":"http://10.0.0.xn--pokxncvks","failure":true},{"input":"https://faß.ExAmPlE/"},{"input":"sc://faß.ExAmPlE/"},{"input":"https://x x:12","failure":true},{"input":"http://./"},{"input":"http://../"},{"input":"http://0..0x300/"},{"input":"http://[www.google.com]/","failure":true},{"input":"http://host/?'"},{"input":"notspecial://host/?'"},{"input":"about:/../"},{"input":"data:/../"},{"input":"javascript:/../"},{"input":"mailto:/../"},{"input":"sc://ñ.test/"},{"input":"sc://\u0000/","failure":true},{"input":"sc:// /","failure":true},{"input":"sc://%/"},{"input":"sc://@/","failure":true},{"input":"sc://te@s:t@/","failure":true},{"input":"sc://:/","failure":true},{"input":"sc://:12/","failure":true},{"input":"sc://[/","failure":true},{"input":"sc://\\/","failure":true},{"input":"sc://]/","failure":true},{"input":"sc:\\../"},{"input":"sc::a@example.net"},{"input":"wow:%NBD"},{"input":"wow:%1G"},{"input":"wow:"},{"input":"http://example.com/\ud800\udfff﷏ﷰ?\ud800\udfff﷏ﷰ"},{"input":"http://a<b","failure":true},{"input":"http://a>b","failure":true},{"input":"http://a^b","failure":true},{"input":"non-special://a<b","failure":true},{"input":"non-special://a>b","failure":true},{"input":"non-special://a^b","failure":true},{"input":"foo://ho\u0000st/","failure":true},{"input":"foo://ho|st/","failure":true},{"input":"foo://ho\tst/"},{"input":"foo://ho\nst/"},{"input":"foo://ho\rst/"},{"input":"http://ho%00st/","failure":true},{"input":"http://ho%09st/","failure":true},{"input":"http://ho%0Ast/","failure":true},{"input":"http://ho%0Dst/","failure":true},{"input":"http://ho%20st/","failure":true},{"input":"http://ho%23st/","failure":true},{"input":"http://ho%2Fst/","failure":true},{"input":"http://ho%3Ast/","failure":true},{"input":"http://ho%3Cst/","failure":true},{"input":"http://ho%3Est/","failure":true},{"input":"http://ho%3Fst/","failure":true},{"input":"http://ho%40st/","failure":true},{"input":"http://ho%5Bst/","failure":true},{"input":"http://ho%5Cst/","failure":true},{"input":"http://ho%5Dst/","failure":true},{"input":"http://ho%7Cst/","failure":true},{"input":"http://\u001f!\"$&'()*+,-.;=_`{}~/"},{"input":"sc://\u001f!\"$&'()*+,-.;=_`{}~/"},{"input":"ftp://example.com%80/","failure":true},{"input":"ftp://example.com%A0/","failure":true},{"input":"https://example.com%80/","failure":true},{"input":"https://example.com%A0/","failure":true},{"input":"ftp://%e2%98%83"},{"input":"https://%e2%98%83"},{"input":"http://127.0.0.1:10100/relative_import.html"},{"input":"http://facebook.com/?foo=%7B%22abc%22"},{"input":"https://localhost:3000/jqueryui@1.2.3"},{"input":"h\tt\nt\rp://h\to\ns\rt:9\t0\n0\r0/p\ta\nt\rh?q\tu\ne\rry#f\tr\na\rg"},{"input":"http://foo.bar/baz?qux#foo\bbar"},{"input":"http://foo.bar/baz?qux#foo\"bar"},{"input":"http://foo.bar/baz?qux#foo<bar"},{"input":"http://foo.bar/baz?qux#foo>bar"},{"input":"http://foo.bar/baz?qux#foo`bar"},{"input":"https://0x.0x.0"},{"input":"https://0x100000000/test","failure":true},{"input":"https://256.0.0.1/test","failure":true},{"input":"file:///C%3A/"},{"input":"file:///C%7C/"},{"input":"file://%43%3A","failure":true},{"input":"file://%43%7C","failure":true},{"input":"file://%43|","failure":true},{"input":"file://C%7C","failure":true},{"input":"file://%43%7C/","failure":true},{"input":"https://%43%7C/","failure":true},{"input":"asdf://%43|/","failure":true},{"input":"asdf://%43%7C/"},{"input":"file:\\\\//"},{"input":"file:\\\\\\\\"},{"input":"file:\\\\\\\\?fox"},{"input":"file:\\\\\\\\#guppy"},{"input":"file://spider///"},{"input":"file:\\\\localhost//"},{"input":"file:///localhost//cat"},{"input":"file://\\/localhost//cat"},{"input":"file://localhost//a//../..//"},{"input":"file://example.net/C:/"},{"input":"file://1.2.3.4/C:/"},{"input":"file://[1::8]/C:/"},{"input":"file:/C|/"},{"input":"file://C|/"},{"input":"file:"},{"input":"file:?q=v"},{"input":"file:#frag"},{"input":"file:///Y:"},{"input":"file:///Y:/"},{"input":"file:///./Y"},{"input":"file:///./Y:"},{"input":"\\\\\\.\\Y:","failure":true},{"input":"file:///y:"},{"input":"file:///y:/"},{"input":"file:///./y"},{"input":"file:///./y:"},{"input":"\\\\\\.\\y:","failure":true},{"input":"file://localhost//a//../..//foo"},{"input":"file://localhost////foo"},{"input":"file:////foo"},{"input":"file:.//p"},{"input":"file:/.//p"},{"input":"https://[0::0::0]","failure":true},{"input":"https://[0:.0]","failure":true},{"input":"https://[0:0:]","failure":true},{"input":"https://[0:1:2:3:4:5:6:7.0.0.0.1]","failure":true},{"input":"https://[0:1.00.0.0.0]","failure":true},{"input":"https://[0:1.290.0.0.0]","failure":true},{"input":"https://[0:1.23.23]","failure":true},{"input":"http://?","failure":true},{"input":"http://#","failure":true},{"input":"sc://ñ"},{"input":"sc://ñ?x"},{"input":"sc://ñ#x"},{"input":"sc://?"},{"input":"sc://#"},{"input":"tftp://foobar.com/someconfig;mode=netascii"},{"input":"telnet://user:pass@foobar.com:23/"},{"input":"ut2004://10.10.10.10:7777/Index.ut2"},{"input":"redis://foo:bar@somehost:6379/0?baz=bam&qux=baz"},{"input":"rsync://foo@host:911/sup"},{"input":"git://github.com/foo/bar.git"},{"input":"irc://myserver.com:6999/channel?passwd"},{"input":"dns://fw.example.org:9999/foo.bar.org?type=TXT"},{"input":"ldap://localhost:389/ou=People,o=JNDITutorial"},{"input":"git+https://github.com/foo/bar"},{"input":"urn:ietf:rfc:2648"},{"input":"tag:joe@example.org,2001:foo/bar"},{"input":"non-spec:/.//"},{"input":"non-spec:/..//"},{"input":"non-spec:/a/..//"},{"input":"non-spec:/.//path"},{"input":"non-spec:/..//path"},{"input":"non-spec:/a/..//path"},{"input":"non-special://%E2%80%A0/"},{"input":"non-special://H%4fSt/path"},{"input":"non-special://[1:2:0:0:5:0:0:0]/"},{"input":"non-special://[1:2:0:0:0:0:0:3]/"},{"input":"non-special://[1:2::3]:80/"},{"input":"non-special://[:80/","failure":true},{"input":"blob:https://example.com:443/"},{"input":"blob:d3958f5c-0777-0845-9dcf-2cb28783acaf"},{"input":"http://0177.0.0.0189"},{"input":"http://0x7f.0.0.0x7g"},{"input":"http://0X7F.0.0.0X7G"},{"input":"http://[::127.0.0.0.1]","failure":true},{"input":"http://[0:1:0:1:0:1:0:1]"},{"input":"http://[1:0:1:0:1:0:1:0]"},{"input":"http://example.org/test?\""},{"input":"http://example.org/test?#"},{"input":"http://example.org/test?<"},{"input":"http://example.org/test?>"},{"input":"http://example.org/test?⌣"},{"input":"http://example.org/test?%23%23"},{"input":"http://example.org/test?%GH"},{"input":"http://example.org/test?a#%EF"},{"input":"http://example.org/test?a#%GH"},{"input":"a","failure":true},{"input":"a/","failure":true},{"input":"a//","failure":true},{"input":"http://example.org/test?a#b\u0000c"},{"input":"non-spec://example.org/test?a#b\u0000c"},{"input":"non-spec:/test?a#b\u0000c"},{"input":"file://ab/p"},{"input":"file://a%C2%ADb/p"},{"input":"file:///p","failure":true},{"input":"file://%C2%AD/p","failure":true},{"input":"file://xn--/p","failure":true},{"input":"non-special:cannot-be-a-base-url-\u0000\u0001\u001f\u001e~"},{"input":"https://www.example.com/path{path.html?query'=query#fragment<fragment"},{"input":"foo:// !\"$%&'()*+,-.;<=>@[\\]^_`{|}~@host/"},{"input":"wss:// !\"$%&'()*+,-.;<=>@[]^_`{|}~@host/"},{"input":"foo://joe: !\"$%&'()*+,-.:;<=>@[\\]^_`{|}~@host/"},{"input":"wss://joe: !\"$%&'()*+,-.:;<=>@[]^_`{|}~@host/"},{"input":"foo://!\"$%&'()*+,-.;=_`{}~/"},{"input":"wss://!\"$&'()*+,-.;=_`{}~/"},{"input":"foo://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~"},{"input":"wss://host/ !\"$%&'()*+,-./:;<=>@[\\]^_`{|}~"},{"input":"foo://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~"},{"input":"wss://host/dir/? !\"$%&'()*+,-./:;<=>?@[\\]^_`{|}~"},{"input":"foo://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"},{"input":"wss://host/dir/# !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"}]
|
package/src/test/index.native.js
CHANGED
|
@@ -35,6 +35,18 @@ jest.mock( './fixtures/wpt-data.json', () => {
|
|
|
35
35
|
'file:///p',
|
|
36
36
|
'file://%C2%AD/p',
|
|
37
37
|
'file://xn--/p',
|
|
38
|
+
'http://a.b.c.xn--pokxncvks',
|
|
39
|
+
'http://10.0.0.xn--pokxncvks',
|
|
40
|
+
'foo://ho|st/',
|
|
41
|
+
'http://ho%3Cst/',
|
|
42
|
+
'http://ho%3Est/',
|
|
43
|
+
'http://ho%7Cst/',
|
|
44
|
+
'file://%43%7C',
|
|
45
|
+
'file://%43|',
|
|
46
|
+
'file://C%7C',
|
|
47
|
+
'file://%43%7C/',
|
|
48
|
+
'https://%43%7C/',
|
|
49
|
+
'asdf://%43|/',
|
|
38
50
|
];
|
|
39
51
|
|
|
40
52
|
return data.filter( ( { input } ) => ! URL_EXCEPTIONS.includes( input ) );
|