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);