diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/ShadowRealms/syntax-error.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/tests/non262/ShadowRealms/syntax-error.js b/js/src/tests/non262/ShadowRealms/syntax-error.js new file mode 100644 index 0000000000..8cae199f50 --- /dev/null +++ b/js/src/tests/non262/ShadowRealms/syntax-error.js @@ -0,0 +1,33 @@ +// |reftest| shell-option(--enable-shadow-realms) skip-if(!xulRuntime.shell) + +let sr = new ShadowRealm(); + +try { + sr.evaluate("var x /"); + assertEq(true, false, "Should have thrown"); +} catch (e) { + assertEq(e instanceof SyntaxError, true, "Same Global Error") + assertEq(/unterminated regular expression literal/.test(e.message), true, "Should have reported a sensible error message"); +} + +try { + sr.evaluate("var x ="); + assertEq(true, false, "Should have thrown"); +} catch (e) { + assertEq(e instanceof SyntaxError, true, "Same Global Error") + assertEq(/expected expression/.test(e.message), true, "Should have reported a sensible error message"); +} + + +try { + sr.evaluate("#x in this"); + assertEq(true, false, "Should have thrown"); +} catch (e) { + assertEq(e instanceof SyntaxError, true, "Same Global Error") + assertEq(/reference to undeclared private field or method/.test(e.message), true, "Should have reported a sensible error message"); +} + + + +if (typeof reportCompare === 'function') + reportCompare(true, true);
\ No newline at end of file |