Lines Matching refs:valid

25 "This test checks that the following expressions or statements are valid ECMASCRIPT code or should throw parse error"
52 function valid(_a)
78 valid ("");
85 valid ("a: +~!new a");
87 valid ("new (-1)")
88 valid ("a: b: c: new f(x++)++")
89 valid ("(a)++");
90 valid ("(1--).x");
93 valid ("++ -- ++ a");
94 valid ("++ new new a ++");
95 valid ("delete void 0");
98 valid ("++a--");
99 valid ("++((a))--");
100 valid ("(a.x++)++");
108 valid ("1 .l");
112 valid ("a + + typeof this");
118 valid ("a = b ? b = c : d = e");
119 valid ("s: a[1].l ? b.l['s'] ? c++ : d : true");
120 valid ("a ? b + 1 ? c + 3 * d.l : d[5][6] : e");
121 valid ("a in b instanceof delete -c");
123 valid ("- - true % 5");
125 valid ("a: b: c: (1 + null) = 3");
126 valid ("a[2] = b.l += c /= 4 * 7 ^ !6");
129 valid ("a: ((typeof (a))) >>>= a || b.l && c");
130 valid ("a: b: c[a /= f[a %= b]].l[c[x] = 7] -= a ? b <<= f : g");
131 valid ("-void+x['y'].l == x.l != 5 - f[7]");
135 valid ("a()()()");
136 valid ("s: l: a[2](4 == 6, 5 = 6)(f[4], 6)");
137 valid ("s: eval(a.apply(), b.call(c[5] - f[7]))");
143 valid ("a(b[7], c <d> e.l, new a() > b)");
146 valid ("~new new a(1)(i++)(c[l])");
148 valid ("((((a))((b)()).l))()");
149 valid ("(a)[b + (c) / (d())].l--");
150 valid ("new (5)");
152 valid ("new (f + 5)(6, (g)() - 'l'() - true(false))");
157 valid ("function f() {}");
158 valid ("function f(a,b) {}");
164 valid ("function g(arguments, eval) {}");
165 valid ("function f() {} + function g() {}");
168 valid ("(delete new function f(){} + function(a,b){}(5)(6))");
169 valid ("6 - function (m) { function g() {} }");
176 valid ("[] in [5,6] * [,5,] / [,,5,,] || [a,] && new [,b] % [,,]");
180 valid ("1 + {get get(){}, set set(a){}, get1:4, set1:get-set, }");
185 valid ("(4,(5,a(3,4))),f[4,a-6]");
192 valid ("{ }");
194 valid ("{ ; ; ; }");
195 valid ("a: { ; }");
197 valid ("{} f; { 6 + f() }");
198 valid ("{ a[5],6; {} ++b-new (-5)() } c().l++");
199 valid ("{ l1: l2: l3: { this } a = 32 ; { i++ ; { { { } } ++i } } }");
200 valid ("if (a) ;");
205 valid ("x: s: if (a) ; else b");
207 valid ("if (a) if (b) y; else {} else ;");
210 valid ("if (a.l + new b()) 4 + 5 - f()");
211 valid ("if (a) with (x) ; else with (y) ;");
213 valid ("while (a() - new b) ;");
215 valid ("do ; while(0) i++"); // Is this REALLY valid? (Firefox also accepts this)
216 valid ("do if (a) x; else y; while(z)");
219 valid ("{ { do do do ; while(0) while(0) while(0) } }");
220 valid ("do while (0) if (a) {} else y; while(0)");
221 valid ("if (a) while (b) if (c) with(d) {} else e; else f");
227 valid ("while (1) break");
228 valid ("do if (a) with (b) continue; else debugger; while (false)");
231 valid ("if (a) function f() {} else function g() {}");
232 valid ("if (a()) while(0) function f() {} else function g() {}");
236 valid ("throw a");
237 valid ("throw a + b in void c");
242 valid ("var a, b = null");
243 valid ("const a = 5, b, c");
247 valid ("if (a) var a,b; else const b, c");
249 valid ("while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h");
252 valid ("const a = b += c, a, a, a = (b - f())");
258 valid ("var varr = 3 in 1");
259 valid ("const a, a, a = void 7 - typeof 8, a = 8");
260 valid ("const x_x = 6 /= 7 ? e : f");
264 valid ("var a = a in b in c instanceof d");
270 valid ("for ( ; ; ) { break }");
271 valid ("for ( a ; ; ) { break }");
272 valid ("for ( ; a ; ) { break }");
273 valid ("for ( ; ; a ) { break }");
274 valid ("for ( a ; a ; ) break");
275 valid ("for ( a ; ; a ) break");
276 valid ("for ( ; a ; a ) break");
284 valid ("for (var a, b ; ; ) { break } ");
285 valid ("for (var a = b, b = a ; ; ) break");
286 valid ("for (var a = b, c, d, b = a ; x in b ; ) { break }");
287 valid ("for (var a = b, c, d ; ; 1 in a()) break");
291 valid ("for (a in b) break");
292 valid ("for (a() in b) break");
293 valid ("for (a().l[4] in b) break");
294 valid ("for (new a in b in c in d) break");
295 valid ("for (new new new a in b) break");
298 valid ("for ((a * a) in b) break");
300 valid ("for ((a++) in b) break");
302 valid ("for ((++a) in b) break");
305 valid ("for (a,(b in c) ;;) break");
306 valid ("for ((a, b) in c) break");
308 valid ("for ((a ? b : c) in c) break");
309 valid ("for (var a in b in c) break");
310 valid ("for (var a = 5 += 6 in b) break");
316 valid ("for (var a = (b in c) in d) break");
319 valid ("for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[1]++ ) {}");
324 valid ("try {} finally { c++ }");
325 valid ("try { with (x) { } } catch(e) {} finally { if (a) ; }");
337 valid ("if (a) try {} finally {} else b;");
338 valid ("if (--a()) do with(1) try {} catch(ke) { f() ; g() } while (a in b) else {}");
344 valid ("switch (a) {}");
350 valid ("switch (f()) { case 5 * f(): default: case '6' - 9: ++i }");
354 valid ("switch (g() - h[5].l) { case 1 + 6: a: b: c: ++f }");
359 valid ("switch (l) { case a = b ? c : d : }");
360 valid ("switch (sw) { case a ? b - 7[1] ? [c,,] : d = 6 : { } : }");
362 valid ("switch (l) { case 1: a: with(g) switch (g) { case 2: default: } default: }");
373 valid("function __proto__(){}")
374 valid("(function __proto__(){})")
375 valid("'use strict'; function __proto__(){}")
376 valid("'use strict'; (function __proto__(){})")
378 valid("if (0) $foo; ")
379 valid("if (0) _foo; ")
380 valid("if (0) foo$; ")
381 valid("if (0) foo_; ")
382 valid("if (0) obj.$foo; ")
383 valid("if (0) obj._foo; ")
384 valid("if (0) obj.foo$; ")
385 valid("if (0) obj.foo_; ")
386 valid("if (0) obj.foo\\u03bb; ")
387 valid("if (0) new a(b+c).d = 5");
388 valid("if (0) new a(b+c) = 5");
389 valid("([1 || 1].a = 1)");
390 valid("({a: 1 || 1}.a = 1)");