diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/syntax-error-throw.js')
-rw-r--r-- | js/src/jit-test/tests/basic/syntax-error-throw.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/syntax-error-throw.js b/js/src/jit-test/tests/basic/syntax-error-throw.js new file mode 100644 index 000000000..c82c56cf8 --- /dev/null +++ b/js/src/jit-test/tests/basic/syntax-error-throw.js @@ -0,0 +1,39 @@ +var caught = false; +try { + new Function("throw;"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("throw statement is missing an expression") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("throw\n1;"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("no line break is allowed between 'throw' and its expression") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("throw}"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("throw statement is missing an expression") == -1, false); + caught = true; +} +assertEq(caught, true); + +caught = false; +try { + new Function("throw"); +} catch (e) { + assertEq(e instanceof SyntaxError, true); + assertEq(e.message.startsWith("throw statement is missing an expression") == -1, false); + caught = true; +} +assertEq(caught, true); |