Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(607)

Side by Side Diff: LayoutTests/fast/regex/script-tests/pcre-test-4.js

Issue 20867002: Remove old tests that have been migrated to the v8 repo. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove unused script-tests as well Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 description(
2 "A chunk of our port of PCRE's test suite, adapted to be more applicable to Java Script."
3 );
4
5 var regex0 = /a.b/;
6 var input0 = "acb";
7 var results = ["acb"];
8 shouldBe('regex0.exec(input0);', 'results');
9 var input1 = "a\x7fb";
10 var results = ["a\u007fb"];
11 shouldBe('regex0.exec(input1);', 'results');
12 var input2 = "a\u0100b";
13 var results = ["a\u0100b"];
14 shouldBe('regex0.exec(input2);', 'results');
15 // Failers
16 var input3 = "a\nb";
17 var results = null;
18 shouldBe('regex0.exec(input3);', 'results');
19
20 var regex1 = /a(.{3})b/;
21 var input0 = "a\u4000xyb";
22 var results = ["a\u4000xyb", "\u4000xy"];
23 shouldBe('regex1.exec(input0);', 'results');
24 var input1 = "a\u4000\x7fyb";
25 var results = ["a\u4000\u007fyb", "\u4000\u007fy"];
26 shouldBe('regex1.exec(input1);', 'results');
27 var input2 = "a\u4000\u0100yb";
28 var results = ["a\u4000\u0100yb", "\u4000\u0100y"];
29 shouldBe('regex1.exec(input2);', 'results');
30 // Failers
31 var input3 = "a\u4000b";
32 var results = null;
33 shouldBe('regex1.exec(input3);', 'results');
34 var input4 = "ac\ncb";
35 var results = null;
36 shouldBe('regex1.exec(input4);', 'results');
37
38 var regex2 = /a(.*?)(.)/;
39 var input0 = "a\xc0\x88b";
40 var results = ["a\xc0", "", "\xc0"];
41 shouldBe('regex2.exec(input0);', 'results');
42
43 var regex3 = /a(.*?)(.)/;
44 var input0 = "a\u0100b";
45 var results = ["a\u0100", "", "\u0100"];
46 shouldBe('regex3.exec(input0);', 'results');
47
48 var regex4 = /a(.*)(.)/;
49 var input0 = "a\xc0\x88b";
50 var results = ["a\xc0\x88b", "\xc0\x88", "b"];
51 shouldBe('regex4.exec(input0);', 'results');
52
53 var regex5 = /a(.*)(.)/;
54 var input0 = "a\u0100b";
55 var results = ["a\u0100b", "\u0100", "b"];
56 shouldBe('regex5.exec(input0);', 'results');
57
58 var regex6 = /a(.)(.)/;
59 var input0 = "a\xc0\x92bcd";
60 var results = ["a\xc0\x92", "\xc0", "\x92"];
61 shouldBe('regex6.exec(input0);', 'results');
62
63 var regex7 = /a(.)(.)/;
64 var input0 = "a\u0240bcd";
65 var results = ["a\u0240b", "\u0240", "b"];
66 shouldBe('regex7.exec(input0);', 'results');
67
68 var regex8 = /a(.?)(.)/;
69 var input0 = "a\xc0\x92bcd";
70 var results = ["a\xc0\x92", "\xc0", "\x92"];
71 shouldBe('regex8.exec(input0);', 'results');
72
73 var regex9 = /a(.?)(.)/;
74 var input0 = "a\u0240bcd";
75 var results = ["a\u0240b", "\u0240", "b"];
76 shouldBe('regex9.exec(input0);', 'results');
77
78 var regex10 = /a(.??)(.)/;
79 var input0 = "a\xc0\x92bcd";
80 var results = ["a\xc0", "", "\xc0"];
81 shouldBe('regex10.exec(input0);', 'results');
82
83 var regex11 = /a(.??)(.)/;
84 var input0 = "a\u0240bcd";
85 var results = ["a\u0240", "", "\u0240"];
86 shouldBe('regex11.exec(input0);', 'results');
87
88 var regex12 = /a(.{3})b/;
89 var input0 = "a\u1234xyb";
90 var results = ["a\u1234xyb", "\u1234xy"];
91 shouldBe('regex12.exec(input0);', 'results');
92 var input1 = "a\u1234\u4321yb";
93 var results = ["a\u1234\u4321yb", "\u1234\u4321y"];
94 shouldBe('regex12.exec(input1);', 'results');
95 var input2 = "a\u1234\u4321\u3412b";
96 var results = ["a\u1234\u4321\u3412b", "\u1234\u4321\u3412"];
97 shouldBe('regex12.exec(input2);', 'results');
98 // Failers
99 var input3 = "a\u1234b";
100 var results = null;
101 shouldBe('regex12.exec(input3);', 'results');
102 var input4 = "ac\ncb";
103 var results = null;
104 shouldBe('regex12.exec(input4);', 'results');
105
106 var regex13 = /a(.{3,})b/;
107 var input0 = "a\u1234xyb";
108 var results = ["a\u1234xyb", "\u1234xy"];
109 shouldBe('regex13.exec(input0);', 'results');
110 var input1 = "a\u1234\u4321yb";
111 var results = ["a\u1234\u4321yb", "\u1234\u4321y"];
112 shouldBe('regex13.exec(input1);', 'results');
113 var input2 = "a\u1234\u4321\u3412b";
114 var results = ["a\u1234\u4321\u3412b", "\u1234\u4321\u3412"];
115 shouldBe('regex13.exec(input2);', 'results');
116 var input3 = "axxxxbcdefghijb";
117 var results = ["axxxxbcdefghijb", "xxxxbcdefghij"];
118 shouldBe('regex13.exec(input3);', 'results');
119 var input4 = "a\u1234\u4321\u3412\u3421b";
120 var results = ["a\u1234\u4321\u3412\u3421b", "\u1234\u4321\u3412\u3421"];
121 shouldBe('regex13.exec(input4);', 'results');
122 // Failers
123 var input5 = "a\u1234b";
124 var results = null;
125 shouldBe('regex13.exec(input5);', 'results');
126
127 var regex14 = /a(.{3,}?)b/;
128 var input0 = "a\u1234xyb";
129 var results = ["a\u1234xyb", "\u1234xy"];
130 shouldBe('regex14.exec(input0);', 'results');
131 var input1 = "a\u1234\u4321yb";
132 var results = ["a\u1234\u4321yb", "\u1234\u4321y"];
133 shouldBe('regex14.exec(input1);', 'results');
134 var input2 = "a\u1234\u4321\u3412b";
135 var results = ["a\u1234\u4321\u3412b", "\u1234\u4321\u3412"];
136 shouldBe('regex14.exec(input2);', 'results');
137 var input3 = "axxxxbcdefghijb";
138 var results = ["axxxxb", "xxxx"];
139 shouldBe('regex14.exec(input3);', 'results');
140 var input4 = "a\u1234\u4321\u3412\u3421b";
141 var results = ["a\u1234\u4321\u3412\u3421b", "\u1234\u4321\u3412\u3421"];
142 shouldBe('regex14.exec(input4);', 'results');
143 // Failers
144 var input5 = "a\u1234b";
145 var results = null;
146 shouldBe('regex14.exec(input5);', 'results');
147
148 var regex15 = /a(.{3,5})b/;
149 var input0 = "a\u1234xyb";
150 var results = ["a\u1234xyb", "\u1234xy"];
151 shouldBe('regex15.exec(input0);', 'results');
152 var input1 = "a\u1234\u4321yb";
153 var results = ["a\u1234\u4321yb", "\u1234\u4321y"];
154 shouldBe('regex15.exec(input1);', 'results');
155 var input2 = "a\u1234\u4321\u3412b";
156 var results = ["a\u1234\u4321\u3412b", "\u1234\u4321\u3412"];
157 shouldBe('regex15.exec(input2);', 'results');
158 var input3 = "axxxxbcdefghijb";
159 var results = ["axxxxb", "xxxx"];
160 shouldBe('regex15.exec(input3);', 'results');
161 var input4 = "a\u1234\u4321\u3412\u3421b";
162 var results = ["a\u1234\u4321\u3412\u3421b", "\u1234\u4321\u3412\u3421"];
163 shouldBe('regex15.exec(input4);', 'results');
164 var input5 = "axbxxbcdefghijb";
165 var results = ["axbxxb", "xbxx"];
166 shouldBe('regex15.exec(input5);', 'results');
167 var input6 = "axxxxxbcdefghijb";
168 var results = ["axxxxxb", "xxxxx"];
169 shouldBe('regex15.exec(input6);', 'results');
170 // Failers
171 var input7 = "a\u1234b";
172 var results = null;
173 shouldBe('regex15.exec(input7);', 'results');
174 var input8 = "axxxxxxbcdefghijb";
175 var results = null;
176 shouldBe('regex15.exec(input8);', 'results');
177
178 var regex16 = /a(.{3,5}?)b/;
179 var input0 = "a\u1234xyb";
180 var results = ["a\u1234xyb", "\u1234xy"];
181 shouldBe('regex16.exec(input0);', 'results');
182 var input1 = "a\u1234\u4321yb";
183 var results = ["a\u1234\u4321yb", "\u1234\u4321y"];
184 shouldBe('regex16.exec(input1);', 'results');
185 var input2 = "a\u1234\u4321\u3412b";
186 var results = ["a\u1234\u4321\u3412b", "\u1234\u4321\u3412"];
187 shouldBe('regex16.exec(input2);', 'results');
188 var input3 = "axxxxbcdefghijb";
189 var results = ["axxxxb", "xxxx"];
190 shouldBe('regex16.exec(input3);', 'results');
191 var input4 = "a\u1234\u4321\u3412\u3421b";
192 var results = ["a\u1234\u4321\u3412\u3421b", "\u1234\u4321\u3412\u3421"];
193 shouldBe('regex16.exec(input4);', 'results');
194 var input5 = "axbxxbcdefghijb";
195 var results = ["axbxxb", "xbxx"];
196 shouldBe('regex16.exec(input5);', 'results');
197 var input6 = "axxxxxbcdefghijb";
198 var results = ["axxxxxb", "xxxxx"];
199 shouldBe('regex16.exec(input6);', 'results');
200 // Failers
201 var input7 = "a\u1234b";
202 var results = null;
203 shouldBe('regex16.exec(input7);', 'results');
204 var input8 = "axxxxxxbcdefghijb";
205 var results = null;
206 shouldBe('regex16.exec(input8);', 'results');
207
208 var regex17 = /^[a\u00c0]/;
209 // Failers
210 var input0 = "\u0100";
211 var results = null;
212 shouldBe('regex17.exec(input0);', 'results');
213
214 var regex21 = /(?:\u0100){3}b/;
215 var input0 = "\u0100\u0100\u0100b";
216 var results = ["\u0100\u0100\u0100b"];
217 shouldBe('regex21.exec(input0);', 'results');
218 // Failers
219 var input1 = "\u0100\u0100b";
220 var results = null;
221 shouldBe('regex21.exec(input1);', 'results');
222
223 var regex22 = /\u00ab/;
224 var input0 = "\u00ab";
225 var results = ["\u00ab"];
226 shouldBe('regex22.exec(input0);', 'results');
227 var input1 = "\xc2\xab";
228 var results = ["\u00ab"];
229 shouldBe('regex22.exec(input1);', 'results');
230 // Failers
231 var input2 = "\x00{ab}";
232 var results = null;
233 shouldBe('regex22.exec(input2);', 'results');
234
235 var regex30 = /^[^a]{2}/;
236 var input0 = "\u0100bc";
237 var results = ["\u0100b"];
238 shouldBe('regex30.exec(input0);', 'results');
239
240 var regex31 = /^[^a]{2,}/;
241 var input0 = "\u0100bcAa";
242 var results = ["\u0100bcA"];
243 shouldBe('regex31.exec(input0);', 'results');
244
245 var regex32 = /^[^a]{2,}?/;
246 var input0 = "\u0100bca";
247 var results = ["\u0100b"];
248 shouldBe('regex32.exec(input0);', 'results');
249
250 var regex33 = /^[^a]{2}/i;
251 var input0 = "\u0100bc";
252 var results = ["\u0100b"];
253 shouldBe('regex33.exec(input0);', 'results');
254
255 var regex34 = /^[^a]{2,}/i;
256 var input0 = "\u0100bcAa";
257 var results = ["\u0100bc"];
258 shouldBe('regex34.exec(input0);', 'results');
259
260 var regex35 = /^[^a]{2,}?/i;
261 var input0 = "\u0100bca";
262 var results = ["\u0100b"];
263 shouldBe('regex35.exec(input0);', 'results');
264
265 var regex36 = /\u0100{0,0}/;
266 var input0 = "abcd";
267 var results = [""];
268 shouldBe('regex36.exec(input0);', 'results');
269
270 var regex37 = /\u0100?/;
271 var input0 = "abcd";
272 var results = [""];
273 shouldBe('regex37.exec(input0);', 'results');
274 var input1 = "\u0100\u0100";
275 var results = ["\u0100"];
276 shouldBe('regex37.exec(input1);', 'results');
277
278 var regex38 = /\u0100{0,3}/;
279 var input0 = "\u0100\u0100";
280 var results = ["\u0100\u0100"];
281 shouldBe('regex38.exec(input0);', 'results');
282 var input1 = "\u0100\u0100\u0100\u0100";
283 var results = ["\u0100\u0100\u0100"];
284 shouldBe('regex38.exec(input1);', 'results');
285
286 var regex39 = /\u0100*/;
287 var input0 = "abce";
288 var results = [""];
289 shouldBe('regex39.exec(input0);', 'results');
290 var input1 = "\u0100\u0100\u0100\u0100";
291 var results = ["\u0100\u0100\u0100\u0100"];
292 shouldBe('regex39.exec(input1);', 'results');
293
294 var regex40 = /\u0100{1,1}/;
295 var input0 = "abcd\u0100\u0100\u0100\u0100";
296 var results = ["\u0100"];
297 shouldBe('regex40.exec(input0);', 'results');
298
299 var regex41 = /\u0100{1,3}/;
300 var input0 = "abcd\u0100\u0100\u0100\u0100";
301 var results = ["\u0100\u0100\u0100"];
302 shouldBe('regex41.exec(input0);', 'results');
303
304 var regex42 = /\u0100+/;
305 var input0 = "abcd\u0100\u0100\u0100\u0100";
306 var results = ["\u0100\u0100\u0100\u0100"];
307 shouldBe('regex42.exec(input0);', 'results');
308
309 var regex43 = /\u0100{3}/;
310 var input0 = "abcd\u0100\u0100\u0100XX";
311 var results = ["\u0100\u0100\u0100"];
312 shouldBe('regex43.exec(input0);', 'results');
313
314 var regex44 = /\u0100{3,5}/;
315 var input0 = "abcd\u0100\u0100\u0100\u0100\u0100\u0100\u0100XX";
316 var results = ["\u0100\u0100\u0100\u0100\u0100"];
317 shouldBe('regex44.exec(input0);', 'results');
318
319 var regex45 = /\u0100{3,}/;
320 var input0 = "abcd\u0100\u0100\u0100\u0100\u0100\u0100\u0100XX";
321 var results = ["\u0100\u0100\u0100\u0100\u0100\u0100\u0100"];
322 shouldBe('regex45.exec(input0);', 'results');
323
324 var regex47 = /\D*/;
325 var input0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
326 var results = ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"] ;
327 shouldBe('regex47.exec(input0);', 'results');
328
329 var regex48 = /\D*/;
330 var input0 = "\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100";
331 var results = ["\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100 \u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u 0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u01 00\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100\u0100"];
332 shouldBe('regex48.exec(input0);', 'results');
333
334 var regex49 = /\D/;
335 var input0 = "1X2";
336 var results = ["X"];
337 shouldBe('regex49.exec(input0);', 'results');
338 var input1 = "1\u01002";
339 var results = ["\u0100"];
340 shouldBe('regex49.exec(input1);', 'results');
341
342 var regex50 = />\S/;
343 var input0 = "> >X Y";
344 var results = [">X"];
345 shouldBe('regex50.exec(input0);', 'results');
346 var input1 = "> >\u0100 Y";
347 var results = [">\u0100"];
348 shouldBe('regex50.exec(input1);', 'results');
349
350 var regex51 = /\d/;
351 var input0 = "\u01003";
352 var results = ["3"];
353 shouldBe('regex51.exec(input0);', 'results');
354
355 var regex52 = /\s/;
356 var input0 = "\u0100 X";
357 var results = [" "];
358 shouldBe('regex52.exec(input0);', 'results');
359
360 var regex53 = /\D+/;
361 var input0 = "12abcd34";
362 var results = ["abcd"];
363 shouldBe('regex53.exec(input0);', 'results');
364 // Failers
365 var input1 = "1234";
366 var results = null;
367 shouldBe('regex53.exec(input1);', 'results');
368
369 var regex54 = /\D{2,3}/;
370 var input0 = "12abcd34";
371 var results = ["abc"];
372 shouldBe('regex54.exec(input0);', 'results');
373 var input1 = "12ab34";
374 var results = ["ab"];
375 shouldBe('regex54.exec(input1);', 'results');
376 // Failers
377 var input2 = "1234";
378 var results = null;
379 shouldBe('regex54.exec(input2);', 'results');
380 var input3 = "12a34";
381 var results = null;
382 shouldBe('regex54.exec(input3);', 'results');
383
384 var regex55 = /\D{2,3}?/;
385 var input0 = "12abcd34";
386 var results = ["ab"];
387 shouldBe('regex55.exec(input0);', 'results');
388 var input1 = "12ab34";
389 var results = ["ab"];
390 shouldBe('regex55.exec(input1);', 'results');
391 // Failers
392 var input2 = "1234";
393 var results = null;
394 shouldBe('regex55.exec(input2);', 'results');
395 var input3 = "12a34";
396 var results = null;
397 shouldBe('regex55.exec(input3);', 'results');
398
399 var regex56 = /\d+/;
400 var input0 = "12abcd34";
401 var results = ["12"];
402 shouldBe('regex56.exec(input0);', 'results');
403
404 var regex57 = /\d{2,3}/;
405 var input0 = "12abcd34";
406 var results = ["12"];
407 shouldBe('regex57.exec(input0);', 'results');
408 var input1 = "1234abcd";
409 var results = ["123"];
410 shouldBe('regex57.exec(input1);', 'results');
411 // Failers
412 var input2 = "1.4";
413 var results = null;
414 shouldBe('regex57.exec(input2);', 'results');
415
416 var regex58 = /\d{2,3}?/;
417 var input0 = "12abcd34";
418 var results = ["12"];
419 shouldBe('regex58.exec(input0);', 'results');
420 var input1 = "1234abcd";
421 var results = ["12"];
422 shouldBe('regex58.exec(input1);', 'results');
423 // Failers
424 var input2 = "1.4";
425 var results = null;
426 shouldBe('regex58.exec(input2);', 'results');
427
428 var regex59 = /\S+/;
429 var input0 = "12abcd34";
430 var results = ["12abcd34"];
431 shouldBe('regex59.exec(input0);', 'results');
432 // Failers
433 var input1 = " ";
434 var results = null;
435 shouldBe('regex59.exec(input1);', 'results');
436
437 var regex60 = /\S{2,3}/;
438 var input0 = "12abcd34";
439 var results = ["12a"];
440 shouldBe('regex60.exec(input0);', 'results');
441 var input1 = "1234abcd";
442 var results = ["123"];
443 shouldBe('regex60.exec(input1);', 'results');
444 // Failers
445 var input2 = " ";
446 var results = null;
447 shouldBe('regex60.exec(input2);', 'results');
448
449 var regex61 = /\S{2,3}?/;
450 var input0 = "12abcd34";
451 var results = ["12"];
452 shouldBe('regex61.exec(input0);', 'results');
453 var input1 = "1234abcd";
454 var results = ["12"];
455 shouldBe('regex61.exec(input1);', 'results');
456 // Failers
457 var input2 = " ";
458 var results = null;
459 shouldBe('regex61.exec(input2);', 'results');
460
461 var regex62 = />\s+</;
462 var input0 = "12> <34";
463 var results = ["> <"];
464 shouldBe('regex62.exec(input0);', 'results');
465
466 var regex63 = />\s{2,3}</;
467 var input0 = "ab> <cd";
468 var results = ["> <"];
469 shouldBe('regex63.exec(input0);', 'results');
470 var input1 = "ab> <ce";
471 var results = ["> <"];
472 shouldBe('regex63.exec(input1);', 'results');
473 // Failers
474 var input2 = "ab> <cd";
475 var results = null;
476 shouldBe('regex63.exec(input2);', 'results');
477
478 var regex64 = />\s{2,3}?</;
479 var input0 = "ab> <cd";
480 var results = ["> <"];
481 shouldBe('regex64.exec(input0);', 'results');
482 var input1 = "ab> <ce";
483 var results = ["> <"];
484 shouldBe('regex64.exec(input1);', 'results');
485 // Failers
486 var input2 = "ab> <cd";
487 var results = null;
488 shouldBe('regex64.exec(input2);', 'results');
489
490 var regex65 = /\w+/;
491 var input0 = "12 34";
492 var results = ["12"];
493 shouldBe('regex65.exec(input0);', 'results');
494 // Failers
495 var input1 = "+++=*!";
496 var results = null;
497 shouldBe('regex65.exec(input1);', 'results');
498
499 var regex66 = /\w{2,3}/;
500 var input0 = "ab cd";
501 var results = ["ab"];
502 shouldBe('regex66.exec(input0);', 'results');
503 var input1 = "abcd ce";
504 var results = ["abc"];
505 shouldBe('regex66.exec(input1);', 'results');
506 // Failers
507 var input2 = "a.b.c";
508 var results = null;
509 shouldBe('regex66.exec(input2);', 'results');
510
511 var regex67 = /\w{2,3}?/;
512 var input0 = "ab cd";
513 var results = ["ab"];
514 shouldBe('regex67.exec(input0);', 'results');
515 var input1 = "abcd ce";
516 var results = ["ab"];
517 shouldBe('regex67.exec(input1);', 'results');
518 // Failers
519 var input2 = "a.b.c";
520 var results = null;
521 shouldBe('regex67.exec(input2);', 'results');
522
523 var regex68 = /\W+/;
524 var input0 = "12====34";
525 var results = ["===="];
526 shouldBe('regex68.exec(input0);', 'results');
527 // Failers
528 var input1 = "abcd";
529 var results = null;
530 shouldBe('regex68.exec(input1);', 'results');
531
532 var regex69 = /\W{2,3}/;
533 var input0 = "ab====cd";
534 var results = ["==="];
535 shouldBe('regex69.exec(input0);', 'results');
536 var input1 = "ab==cd";
537 var results = ["=="];
538 shouldBe('regex69.exec(input1);', 'results');
539 // Failers
540 var input2 = "a.b.c";
541 var results = null;
542 shouldBe('regex69.exec(input2);', 'results');
543
544 var regex70 = /\W{2,3}?/;
545 var input0 = "ab====cd";
546 var results = ["=="];
547 shouldBe('regex70.exec(input0);', 'results');
548 var input1 = "ab==cd";
549 var results = ["=="];
550 shouldBe('regex70.exec(input1);', 'results');
551 // Failers
552 var input2 = "a.b.c";
553 var results = null;
554 shouldBe('regex70.exec(input2);', 'results');
555
556 var regex71 = /[\u0100]/;
557 var input0 = "\u0100";
558 var results = ["\u0100"];
559 shouldBe('regex71.exec(input0);', 'results');
560 var input1 = "Z\u0100";
561 var results = ["\u0100"];
562 shouldBe('regex71.exec(input1);', 'results');
563 var input2 = "\u0100Z";
564 var results = ["\u0100"];
565 shouldBe('regex71.exec(input2);', 'results');
566
567 var regex72 = /[Z\u0100]/;
568 var input0 = "Z\u0100";
569 var results = ["Z"];
570 shouldBe('regex72.exec(input0);', 'results');
571 var input1 = "\u0100";
572 var results = ["\u0100"];
573 shouldBe('regex72.exec(input1);', 'results');
574 var input2 = "\u0100Z";
575 var results = ["\u0100"];
576 shouldBe('regex72.exec(input2);', 'results');
577
578 var regex73 = /[\u0100\u0200]/;
579 var input0 = "ab\u0100cd";
580 var results = ["\u0100"];
581 shouldBe('regex73.exec(input0);', 'results');
582 var input1 = "ab\u0200cd";
583 var results = ["\u0200"];
584 shouldBe('regex73.exec(input1);', 'results');
585
586 var regex74 = /[\u0100-\u0200]/;
587 var input0 = "ab\u0100cd";
588 var results = ["\u0100"];
589 shouldBe('regex74.exec(input0);', 'results');
590 var input1 = "ab\u0200cd";
591 var results = ["\u0200"];
592 shouldBe('regex74.exec(input1);', 'results');
593 var input2 = "ab\u0111cd";
594 var results = ["\u0111"];
595 shouldBe('regex74.exec(input2);', 'results');
596
597 var regex75 = /[z-\u0200]/;
598 var input0 = "ab\u0100cd";
599 var results = ["\u0100"];
600 shouldBe('regex75.exec(input0);', 'results');
601 var input1 = "ab\u0200cd";
602 var results = ["\u0200"];
603 shouldBe('regex75.exec(input1);', 'results');
604 var input2 = "ab\u0111cd";
605 var results = ["\u0111"];
606 shouldBe('regex75.exec(input2);', 'results');
607 var input3 = "abzcd";
608 var results = ["z"];
609 shouldBe('regex75.exec(input3);', 'results');
610 var input4 = "ab|cd";
611 var results = ["|"];
612 shouldBe('regex75.exec(input4);', 'results');
613
614 var regex76 = /[Q\u0100\u0200]/;
615 var input0 = "ab\u0100cd";
616 var results = ["\u0100"];
617 shouldBe('regex76.exec(input0);', 'results');
618 var input1 = "ab\u0200cd";
619 var results = ["\u0200"];
620 shouldBe('regex76.exec(input1);', 'results');
621 var input2 = "Q?";
622 var results = ["Q"];
623 shouldBe('regex76.exec(input2);', 'results');
624
625 var regex77 = /[Q\u0100-\u0200]/;
626 var input0 = "ab\u0100cd";
627 var results = ["\u0100"];
628 shouldBe('regex77.exec(input0);', 'results');
629 var input1 = "ab\u0200cd";
630 var results = ["\u0200"];
631 shouldBe('regex77.exec(input1);', 'results');
632 var input2 = "ab\u0111cd";
633 var results = ["\u0111"];
634 shouldBe('regex77.exec(input2);', 'results');
635 var input3 = "Q?";
636 var results = ["Q"];
637 shouldBe('regex77.exec(input3);', 'results');
638
639 var regex78 = /[Qz-\u0200]/;
640 var input0 = "ab\u0100cd";
641 var results = ["\u0100"];
642 shouldBe('regex78.exec(input0);', 'results');
643 var input1 = "ab\u0200cd";
644 var results = ["\u0200"];
645 shouldBe('regex78.exec(input1);', 'results');
646 var input2 = "ab\u0111cd";
647 var results = ["\u0111"];
648 shouldBe('regex78.exec(input2);', 'results');
649 var input3 = "abzcd";
650 var results = ["z"];
651 shouldBe('regex78.exec(input3);', 'results');
652 var input4 = "ab|cd";
653 var results = ["|"];
654 shouldBe('regex78.exec(input4);', 'results');
655 var input5 = "Q?";
656 var results = ["Q"];
657 shouldBe('regex78.exec(input5);', 'results');
658
659 var regex79 = /[\u0100\u0200]{1,3}/;
660 var input0 = "ab\u0100cd";
661 var results = ["\u0100"];
662 shouldBe('regex79.exec(input0);', 'results');
663 var input1 = "ab\u0200cd";
664 var results = ["\u0200"];
665 shouldBe('regex79.exec(input1);', 'results');
666 var input2 = "ab\u0200\u0100\u0200\u0100cd";
667 var results = ["\u0200\u0100\u0200"];
668 shouldBe('regex79.exec(input2);', 'results');
669
670 var regex80 = /[\u0100\u0200]{1,3}?/;
671 var input0 = "ab\u0100cd";
672 var results = ["\u0100"];
673 shouldBe('regex80.exec(input0);', 'results');
674 var input1 = "ab\u0200cd";
675 var results = ["\u0200"];
676 shouldBe('regex80.exec(input1);', 'results');
677 var input2 = "ab\u0200\u0100\u0200\u0100cd";
678 var results = ["\u0200"];
679 shouldBe('regex80.exec(input2);', 'results');
680
681 var regex81 = /[Q\u0100\u0200]{1,3}/;
682 var input0 = "ab\u0100cd";
683 var results = ["\u0100"];
684 shouldBe('regex81.exec(input0);', 'results');
685 var input1 = "ab\u0200cd";
686 var results = ["\u0200"];
687 shouldBe('regex81.exec(input1);', 'results');
688 var input2 = "ab\u0200\u0100\u0200\u0100cd";
689 var results = ["\u0200\u0100\u0200"];
690 shouldBe('regex81.exec(input2);', 'results');
691
692 var regex82 = /[Q\u0100\u0200]{1,3}?/;
693 var input0 = "ab\u0100cd";
694 var results = ["\u0100"];
695 shouldBe('regex82.exec(input0);', 'results');
696 var input1 = "ab\u0200cd";
697 var results = ["\u0200"];
698 shouldBe('regex82.exec(input1);', 'results');
699 var input2 = "ab\u0200\u0100\u0200\u0100cd";
700 var results = ["\u0200"];
701 shouldBe('regex82.exec(input2);', 'results');
702
703 var regex86 = /[^\u0100\u0200]X/;
704 var input0 = "AX";
705 var results = ["AX"];
706 shouldBe('regex86.exec(input0);', 'results');
707 var input1 = "\u0150X";
708 var results = ["\u0150X"];
709 shouldBe('regex86.exec(input1);', 'results');
710 var input2 = "\u0500X";
711 var results = ["\u0500X"];
712 shouldBe('regex86.exec(input2);', 'results');
713 // Failers
714 var input3 = "\u0100X";
715 var results = null;
716 shouldBe('regex86.exec(input3);', 'results');
717 var input4 = "\u0200X";
718 var results = null;
719 shouldBe('regex86.exec(input4);', 'results');
720
721 var regex87 = /[^Q\u0100\u0200]X/;
722 var input0 = "AX";
723 var results = ["AX"];
724 shouldBe('regex87.exec(input0);', 'results');
725 var input1 = "\u0150X";
726 var results = ["\u0150X"];
727 shouldBe('regex87.exec(input1);', 'results');
728 var input2 = "\u0500X";
729 var results = ["\u0500X"];
730 shouldBe('regex87.exec(input2);', 'results');
731 // Failers
732 var input3 = "\u0100X";
733 var results = null;
734 shouldBe('regex87.exec(input3);', 'results');
735 var input4 = "\u0200X";
736 var results = null;
737 shouldBe('regex87.exec(input4);', 'results');
738 var input5 = "QX";
739 var results = null;
740 shouldBe('regex87.exec(input5);', 'results');
741
742 var regex88 = /[^\u0100-\u0200]X/;
743 var input0 = "AX";
744 var results = ["AX"];
745 shouldBe('regex88.exec(input0);', 'results');
746 var input1 = "\u0500X";
747 var results = ["\u0500X"];
748 shouldBe('regex88.exec(input1);', 'results');
749 // Failers
750 var input2 = "\u0100X";
751 var results = null;
752 shouldBe('regex88.exec(input2);', 'results');
753 var input3 = "\u0150X";
754 var results = null;
755 shouldBe('regex88.exec(input3);', 'results');
756 var input4 = "\u0200X";
757 var results = null;
758 shouldBe('regex88.exec(input4);', 'results');
759
760 var regex91 = /[z-\u0100]/i;
761 var input0 = "z";
762 var results = ["z"];
763 shouldBe('regex91.exec(input0);', 'results');
764 var input1 = "Z";
765 var results = ["Z"];
766 shouldBe('regex91.exec(input1);', 'results');
767 var input2 = "\u0100";
768 var results = ["\u0100"];
769 shouldBe('regex91.exec(input2);', 'results');
770 // Failers
771 var input3 = "\u0102";
772 var results = null;
773 shouldBe('regex91.exec(input3);', 'results');
774 var input4 = "y";
775 var results = null;
776 shouldBe('regex91.exec(input4);', 'results');
777
778 var regex92 = /[\xFF]/;
779 var input0 = ">\xff<";
780 var results = ["\xff"];
781 shouldBe('regex92.exec(input0);', 'results');
782
783 var regex93 = /[\xff]/;
784 var input0 = ">\u00ff<";
785 var results = ["\u00ff"];
786 shouldBe('regex93.exec(input0);', 'results');
787
788 var regex94 = /[^\xFF]/;
789 var input0 = "XYZ";
790 var results = ["X"];
791 shouldBe('regex94.exec(input0);', 'results');
792
793 var regex95 = /[^\xff]/;
794 var input0 = "XYZ";
795 var results = ["X"];
796 shouldBe('regex95.exec(input0);', 'results');
797 var input1 = "\u0123";
798 var results = ["\u0123"];
799 shouldBe('regex95.exec(input1);', 'results');
800
801 var regex96 = /^[ac]*b/;
802 var input0 = "xb";
803 var results = null;
804 shouldBe('regex96.exec(input0);', 'results');
805
806 var regex97 = /^[ac\u0100]*b/;
807 var input0 = "xb";
808 var results = null;
809 shouldBe('regex97.exec(input0);', 'results');
810
811 var regex98 = /^[^x]*b/i;
812 var input0 = "xb";
813 var results = null;
814 shouldBe('regex98.exec(input0);', 'results');
815
816 var regex99 = /^[^x]*b/;
817 var input0 = "xb";
818 var results = null;
819 shouldBe('regex99.exec(input0);', 'results');
820
821 var regex100 = /^\d*b/;
822 var input0 = "xb";
823 var results = null;
824 shouldBe('regex100.exec(input0);', 'results');
825
826 var regex102 = /^\u0085$/i;
827 var input0 = "\u0085";
828 var results = ["\u0085"];
829 shouldBe('regex102.exec(input0);', 'results');
830
831 var regex103 = /^\xe1\x88\xb4/;
832 var input0 = "\xe1\x88\xb4";
833 var results = ["\xe1\x88\xb4"];
834 shouldBe('regex103.exec(input0);', 'results');
835
836 var regex104 = /^\xe1\x88\xb4/;
837 var input0 = "\xe1\x88\xb4";
838 var results = ["\xe1\x88\xb4"];
839 shouldBe('regex104.exec(input0);', 'results');
840
841 var regex105 = /(.{1,5})/;
842 var input0 = "abcdefg";
843 var results = ["abcde", "abcde"];
844 shouldBe('regex105.exec(input0);', 'results');
845 var input1 = "ab";
846 var results = ["ab", "ab"];
847 shouldBe('regex105.exec(input1);', 'results');
848
849 var regex106 = /a*\u0100*\w/;
850 var input0 = "a";
851 var results = ["a"];
852 shouldBe('regex106.exec(input0);', 'results');
853
854 var regex107 = /[\S\s]*/;
855 var input0 = "abc\n\r\u0442\u0435\u0441\u0442xyz";
856 var results = ["abc\u000a\u000d\u0442\u0435\u0441\u0442xyz"];
857 shouldBe('regex107.exec(input0);', 'results');
858
859 var regexGlobal0 = /[^a]+/g;
860 var input0 = "bcd";
861 var results = ["bcd"];
862 shouldBe('input0.match(regexGlobal0);', 'results');
863 var input1 = "\u0100aY\u0256Z";
864 var results = ["\u0100", "Y\u0256Z"];
865 shouldBe('input1.match(regexGlobal0);', 'results');
866
867 var regexGlobal1 = /\S\S/g;
868 var input0 = "A\u00a3BC";
869 var results = ["A\u00a3", "BC"];
870 shouldBe('input0.match(regexGlobal1);', 'results');
871
872 var regexGlobal2 = /\S{2}/g;
873 var input0 = "A\u00a3BC";
874 var results = ["A\u00a3", "BC"];
875 shouldBe('input0.match(regexGlobal2);', 'results');
876
877 var regexGlobal3 = /\W\W/g;
878 var input0 = "+\u00a3==";
879 var results = ["+\u00a3", "=="];
880 shouldBe('input0.match(regexGlobal3);', 'results');
881
882 var regexGlobal4 = /\W{2}/g;
883 var input0 = "+\u00a3==";
884 var results = ["+\u00a3", "=="];
885 shouldBe('input0.match(regexGlobal4);', 'results');
886
887 var regexGlobal5 = /\S/g;
888 var input0 = "\u0442\u0435\u0441\u0442";
889 var results = ["\u0442", "\u0435", "\u0441", "\u0442"];
890 shouldBe('input0.match(regexGlobal5);', 'results');
891
892 var regexGlobal6 = /[\S]/g;
893 var input0 = "\u0442\u0435\u0441\u0442";
894 var results = ["\u0442", "\u0435", "\u0441", "\u0442"];
895 shouldBe('input0.match(regexGlobal6);', 'results');
896
897 var regexGlobal7 = /\D/g;
898 var input0 = "\u0442\u0435\u0441\u0442";
899 var results = ["\u0442", "\u0435", "\u0441", "\u0442"];
900 shouldBe('input0.match(regexGlobal7);', 'results');
901
902 var regexGlobal8 = /[\D]/g;
903 var input0 = "\u0442\u0435\u0441\u0442";
904 var results = ["\u0442", "\u0435", "\u0441", "\u0442"];
905 shouldBe('input0.match(regexGlobal8);', 'results');
906
907 var regexGlobal9 = /\W/g;
908 var input0 = "\u2442\u2435\u2441\u2442";
909 var results = ["\u2442", "\u2435", "\u2441", "\u2442"];
910 shouldBe('input0.match(regexGlobal9);', 'results');
911
912 var regexGlobal10 = /[\W]/g;
913 var input0 = "\u2442\u2435\u2441\u2442";
914 var results = ["\u2442", "\u2435", "\u2441", "\u2442"];
915 shouldBe('input0.match(regexGlobal10);', 'results');
916
917 var regexGlobal11 = /[\u041f\S]/g;
918 var input0 = "\u0442\u0435\u0441\u0442";
919 var results = ["\u0442", "\u0435", "\u0441", "\u0442"];
920 shouldBe('input0.match(regexGlobal11);', 'results');
921
922 var regexGlobal12 = /.[^\S]./g;
923 var input0 = "abc def\u0442\u0443xyz\npqr";
924 var results = ["c d", "z\u000ap"];
925 shouldBe('input0.match(regexGlobal12);', 'results');
926
927 var regexGlobal13 = /.[^\S\n]./g;
928 var input0 = "abc def\u0442\u0443xyz\npqr";
929 var results = ["c d"];
930 shouldBe('input0.match(regexGlobal13);', 'results');
931
932 var regexGlobal14 = /[\W]/g;
933 var input0 = "+\u2442";
934 var results = ["+", "\u2442"];
935 shouldBe('input0.match(regexGlobal14);', 'results');
936
937 var regexGlobal15 = /[^a-zA-Z]/g;
938 var input0 = "+\u2442";
939 var results = ["+", "\u2442"];
940 shouldBe('input0.match(regexGlobal15);', 'results');
941
942 var regexGlobal16 = /[^a-zA-Z]/g;
943 var input0 = "A\u0442";
944 var results = ["\u0442"];
945 shouldBe('input0.match(regexGlobal16);', 'results');
946
947 var regexGlobal17 = /[\S]/g;
948 var input0 = "A\u0442";
949 var results = ["A", "\u0442"];
950 shouldBe('input0.match(regexGlobal17);', 'results');
951
952 var regexGlobal19 = /[\D]/g;
953 var input0 = "A\u0442";
954 var results = ["A", "\u0442"];
955 shouldBe('input0.match(regexGlobal19);', 'results');
956
957 var regexGlobal21 = /[^a-z]/g;
958 var input0 = "A\u0422";
959 var results = ["A", "\u0422"];
960 shouldBe('input0.match(regexGlobal21);', 'results');
961
962 var regexGlobal24 = /[\S]/g;
963 var input0 = "A\u0442";
964 var results = ["A", "\u0442"];
965 shouldBe('input0.match(regexGlobal24);', 'results');
966
967 var regexGlobal25 = /[^A-Z]/g;
968 var input0 = "a\u0442";
969 var results = ["a", "\u0442"];
970 shouldBe('input0.match(regexGlobal25);', 'results');
971
972 var regexGlobal26 = /[\W]/g;
973 var input0 = "+\u2442";
974 var results = ["+", "\u2442"];
975 shouldBe('input0.match(regexGlobal26);', 'results');
976
977 var regexGlobal27 = /[\D]/g;
978 var input0 = "M\u0442";
979 var results = ["M", "\u0442"];
980 shouldBe('input0.match(regexGlobal27);', 'results');
981
982 var regexGlobal28 = /[^a]+/ig;
983 var input0 = "bcd";
984 var results = ["bcd"];
985 shouldBe('input0.match(regexGlobal28);', 'results');
986 var input1 = "\u0100aY\u0256Z";
987 var results = ["\u0100", "Y\u0256Z"];
988 shouldBe('input1.match(regexGlobal28);', 'results');
989
990 var regexGlobal29 = /(a|)/g;
991 var input0 = "catac";
992 var results = ["", "a", "", "a", "", ""];
993 shouldBe('input0.match(regexGlobal29);', 'results');
994 var input1 = "a\u0256a";
995 var results = ["a", "", "a", ""];
996 shouldBe('input1.match(regexGlobal29);', 'results');
997
998 // DISABLED:
999 // These tests use (?<) or (?>) constructs. These are not currently valid in ECM AScript,
1000 // but these tests may be useful if similar constructs are introduced in the fut ure.
1001
1002 //var regex18 = /(?<=aXb)cd/;
1003 //var input0 = "aXbcd";
1004 //var results = ["cd"];
1005 //shouldBe('regex18.exec(input0);', 'results');
1006 //
1007 //var regex19 = /(?<=a\u0100b)cd/;
1008 //var input0 = "a\u0100bcd";
1009 //var results = ["cd"];
1010 //shouldBe('regex19.exec(input0);', 'results');
1011 //
1012 //var regex20 = /(?<=a\u100000b)cd/;
1013 //var input0 = "a\u100000bcd";
1014 //var results = ["cd"];
1015 //shouldBe('regex20.exec(input0);', 'results');
1016 //
1017 //var regex23 = /(?<=(.))X/;
1018 //var input0 = "WXYZ";
1019 //var results = ["X", "W"];
1020 //shouldBe('regex23.exec(input0);', 'results');
1021 //var input1 = "\u0256XYZ";
1022 //var results = ["X", "\u0256"];
1023 //shouldBe('regex23.exec(input1);', 'results');
1024 //// Failers
1025 //var input2 = "XYZ";
1026 //var results = null;
1027 //shouldBe('regex23.exec(input2);', 'results');
1028 //
1029 //var regex46 = /(?<=a\u0100{2}b)X/;
1030 //var input0 = "Xyyya\u0100\u0100bXzzz";
1031 //var results = ["X"];
1032 //shouldBe('regex46.exec(input0);', 'results');
1033 //
1034 //var regex83 = /(?<=[\u0100\u0200])X/;
1035 //var input0 = "abc\u0200X";
1036 //var results = ["X"];
1037 //shouldBe('regex83.exec(input0);', 'results');
1038 //var input1 = "abc\u0100X";
1039 //var results = ["X"];
1040 //shouldBe('regex83.exec(input1);', 'results');
1041 //// Failers
1042 //var input2 = "X";
1043 //var results = null;
1044 //shouldBe('regex83.exec(input2);', 'results');
1045 //
1046 //var regex84 = /(?<=[Q\u0100\u0200])X/;
1047 //var input0 = "abc\u0200X";
1048 //var results = ["X"];
1049 //shouldBe('regex84.exec(input0);', 'results');
1050 //var input1 = "abc\u0100X";
1051 //var results = ["X"];
1052 //shouldBe('regex84.exec(input1);', 'results');
1053 //var input2 = "abQX";
1054 //var results = ["X"];
1055 //shouldBe('regex84.exec(input2);', 'results');
1056 //// Failers
1057 //var input3 = "X";
1058 //var results = null;
1059 //shouldBe('regex84.exec(input3);', 'results');
1060 //
1061 //var regex85 = /(?<=[\u0100\u0200]{3})X/;
1062 //var input0 = "abc\u0100\u0200\u0100X";
1063 //var results = ["X"];
1064 //shouldBe('regex85.exec(input0);', 'results');
1065 //// Failers
1066 //var input1 = "abc\u0200X";
1067 //var results = null;
1068 //shouldBe('regex85.exec(input1);', 'results');
1069 //var input2 = "X";
1070 //var results = null;
1071 //shouldBe('regex85.exec(input2);', 'results');
1072
1073 // DISABLED:
1074 // These tests use PCRE's \C token. This is not currently valid in ECMAScript,
1075 // but these tests may be useful if similar constructs are introduced in the fut ure.
1076
1077 //var regex24 = /X(\C{3})/;
1078 //var input0 = "X\u1234";
1079 //var results = ["X\u1234", "\u1234"];
1080 //shouldBe('regex24.exec(input0);', 'results');
1081 //
1082 //var regex25 = /X(\C{4})/;
1083 //var input0 = "X\u1234YZ";
1084 //var results = ["X\u1234Y", "\u1234Y"];
1085 //shouldBe('regex25.exec(input0);', 'results');
1086 //
1087 //var regex26 = /X\C*/;
1088 //var input0 = "XYZabcdce";
1089 //var results = ["XYZabcdce"];
1090 //shouldBe('regex26.exec(input0);', 'results');
1091 //
1092 //var regex27 = /X\C*?/;
1093 //var input0 = "XYZabcde";
1094 //var results = ["X"];
1095 //shouldBe('regex27.exec(input0);', 'results');
1096 //
1097 //var regex28 = /X\C{3,5}/;
1098 //var input0 = "Xabcdefg";
1099 //var results = ["Xabcde"];
1100 //shouldBe('regex28.exec(input0);', 'results');
1101 //var input1 = "X\u1234";
1102 //var results = ["X\u1234"];
1103 //shouldBe('regex28.exec(input1);', 'results');
1104 //var input2 = "X\u1234YZ";
1105 //var results = ["X\u1234YZ"];
1106 //shouldBe('regex28.exec(input2);', 'results');
1107 //var input3 = "X\u1234\u0512";
1108 //var results = ["X\u1234\u0512"];
1109 //shouldBe('regex28.exec(input3);', 'results');
1110 //var input4 = "X\u1234\u0512YZ";
1111 //var results = ["X\u1234\u0512"];
1112 //shouldBe('regex28.exec(input4);', 'results');
1113 //
1114 //var regex29 = /X\C{3,5}?/;
1115 //var input0 = "Xabcdefg";
1116 //var results = ["Xabc"];
1117 //shouldBe('regex29.exec(input0);', 'results');
1118 //var input1 = "X\u1234";
1119 //var results = ["X\u1234"];
1120 //shouldBe('regex29.exec(input1);', 'results');
1121 //var input2 = "X\u1234YZ";
1122 //var results = ["X\u1234"];
1123 //shouldBe('regex29.exec(input2);', 'results');
1124 //var input3 = "X\u1234\u0512";
1125 //var results = ["X\u1234"];
1126 //shouldBe('regex29.exec(input3);', 'results');
1127 //
1128 //var regex89 = /a\Cb/;
1129 //var input0 = "aXb";
1130 //var results = ["aXb"];
1131 //shouldBe('regex89.exec(input0);', 'results');
1132 //var input1 = "a\nb";
1133 //var results = ["a\x0ab"];
1134 //shouldBe('regex89.exec(input1);', 'results');
1135 //
1136 //var regex90 = /a\Cb/;
1137 //var input0 = "aXb";
1138 //var results = ["aXb"];
1139 //shouldBe('regex90.exec(input0);', 'results');
1140 //var input1 = "a\nb";
1141 //var results = ["a\u000ab"];
1142 //shouldBe('regex90.exec(input1);', 'results');
1143 //// Failers
1144 //var input2 = "a\u0100b";
1145 //var results = null;
1146 //shouldBe('regex90.exec(input2);', 'results');
OLDNEW
« no previous file with comments | « LayoutTests/fast/regex/script-tests/parentheses.js ('k') | LayoutTests/fast/regex/script-tests/quantified-assertions.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698