syntax-1.js (668B)
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 (a of b of c)"); 20 test("for (let {a: 1} of b)");