summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/for-of/syntax-4.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/for-of/syntax-4.js')
-rw-r--r--js/src/jit-test/tests/for-of/syntax-4.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/for-of/syntax-4.js b/js/src/jit-test/tests/for-of/syntax-4.js
new file mode 100644
index 0000000000..a6c3214840
--- /dev/null
+++ b/js/src/jit-test/tests/for-of/syntax-4.js
@@ -0,0 +1,19 @@
+// The right-hand-side of a for-of is an assignment expression.
+
+load(libdir + 'asserts.js');
+
+function assertSyntaxError(str) {
+ assertThrowsInstanceOf(function () { return Function(str); }, SyntaxError);
+}
+
+assertSyntaxError("for (var x of 1, 2) {}");
+assertSyntaxError("for (var [x] of 1, 2) {}");
+assertSyntaxError("for (var {x} of 1, 2) {}");
+
+assertSyntaxError("for (let x of 1, 2) {}");
+assertSyntaxError("for (let [x] of 1, 2) {}");
+assertSyntaxError("for (let {x} of 1, 2) {}");
+
+assertSyntaxError("for (const x of 1, 2) {}");
+assertSyntaxError("for (const [x] of 1, 2) {}");
+assertSyntaxError("for (const {x} of 1, 2) {}");