summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/parser/truncation.js
blob: 3cfc6e37f6a3613741d0ab64bf2bc7ba18ca620b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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);