diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/syntax-error-primary.js')
-rw-r--r-- | js/src/jit-test/tests/basic/syntax-error-primary.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/syntax-error-primary.js b/js/src/jit-test/tests/basic/syntax-error-primary.js new file mode 100644 index 000000000..6be66ee0c --- /dev/null +++ b/js/src/jit-test/tests/basic/syntax-error-primary.js @@ -0,0 +1,69 @@ +var caught = false; +try { + new Function(")"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected expression, got ')'") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("...;"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected rest argument name, got ';'") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("...a;"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected closing parenthesis, got ';'") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("...a);"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected '=>' after argument list, got ';'") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("...a) @"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected '=>' after argument list, got '@'") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("(if)"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected expression, got keyword 'if'") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("("); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("expected expression, got end of script") == -1, false); + caught = true; +} +assertEq(caught, true); |