summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/parser/truncation.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/parser/truncation.js')
-rw-r--r--js/src/jit-test/tests/parser/truncation.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/parser/truncation.js b/js/src/jit-test/tests/parser/truncation.js
new file mode 100644
index 000000000..3cfc6e37f
--- /dev/null
+++ b/js/src/jit-test/tests/parser/truncation.js
@@ -0,0 +1,73 @@
+load(libdir + "asserts.js");
+
+var cases = [
+ "{",
+ "{ ;",
+ "var",
+ "var x,",
+ "var x =",
+ "let x,",
+ "let x =",
+ "const",
+ "const x =",
+ "const x = 1,",
+ "if",
+ "if (",
+ "if (0) ; else",
+ "do",
+ "do ;",
+ "do ; while",
+ "do ; while (",
+ "do ; while (1",
+ "while",
+ "while (",
+ "while (1",
+ "while (1)",
+ "for",
+ "for (",
+ "for (;",
+ "for (;;",
+ "for (;;)",
+ "for (var",
+ "for (x",
+ "for (x in",
+ "for (x in y",
+ "for (x in y)",
+ "for (x of",
+ "for (x of y",
+ "for (x of y)",
+ "switch",
+ "switch (",
+ "switch (x",
+ "switch (x)",
+ "with",
+ "with (",
+ "with (x",
+ "with (x)",
+ "a:",
+ "throw",
+ "try",
+ "try {",
+ "try {} catch",
+ "try {} catch (",
+ "try {} catch (exc",
+ "try {} catch (exc if",
+ "try {} catch (exc if 1",
+ "try {} finally",
+ "try {} finally {",
+
+ "function",
+ "function f",
+ "function f(",
+ "function f()",
+ "function f() {",
+ "(function",
+ "(function f",
+ "(function f(",
+ "(function f()",
+
+];
+
+for (var s of cases)
+ assertThrowsInstanceOf(() => Function(s), SyntaxError);
+