michael@0: // The right-hand-side of a for-of is an assignment expression. michael@0: michael@0: load(libdir + 'asserts.js'); michael@0: michael@0: function assertSyntaxError(str) { michael@0: assertThrowsInstanceOf(function () { return Function(str); }, SyntaxError); michael@0: } michael@0: michael@0: assertSyntaxError("for (var x of 1, 2) {}"); michael@0: assertSyntaxError("for (var [x] of 1, 2) {}"); michael@0: assertSyntaxError("for (var {x} of 1, 2) {}"); michael@0: michael@0: assertSyntaxError("for (let x of 1, 2) {}"); michael@0: assertSyntaxError("for (let [x] of 1, 2) {}"); michael@0: assertSyntaxError("for (let {x} of 1, 2) {}"); michael@0: michael@0: assertSyntaxError("for (const x of 1, 2) {}"); michael@0: assertSyntaxError("for (const [x] of 1, 2) {}"); michael@0: assertSyntaxError("for (const {x} of 1, 2) {}");