js/src/jit-test/tests/for-of/syntax-1.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:62e3b24ad212
1 // We correctly reject bogus for-of loop syntax.
2
3 load(libdir + "asserts.js");
4
5 function assertSyntaxError(code) {
6 assertThrowsInstanceOf(function () { Function(code); }, SyntaxError, "Function:" + code);
7 assertThrowsInstanceOf(function () { eval(code); }, SyntaxError, "eval:" + code);
8 var ieval = eval;
9 assertThrowsInstanceOf(function () { ieval(code); }, SyntaxError, "indirect eval:" + code);
10 }
11
12 function test(badForHead) {
13 assertSyntaxError(badForHead + " {}"); // apply directly to forHead
14 assertSyntaxError("[0 " + badForHead + "];");
15 }
16
17 var a, b, c;
18 test("for (a in b of c)");
19 test("for each (a of b)");
20 test("for (a of b of c)");
21 test("for (let (a = 1) a of b)");
22 test("for (let {a: 1} of b)");

mercurial