summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/onExceptionUnwind-08.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/onExceptionUnwind-08.js')
-rw-r--r--js/src/jit-test/tests/debug/onExceptionUnwind-08.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/onExceptionUnwind-08.js b/js/src/jit-test/tests/debug/onExceptionUnwind-08.js
new file mode 100644
index 0000000000..de804c5e3f
--- /dev/null
+++ b/js/src/jit-test/tests/debug/onExceptionUnwind-08.js
@@ -0,0 +1,18 @@
+// Ensure that uncaught exceptions thrown in onExceptionUnwind do not
+// propagate outward into debuggee execution.
+var g = newGlobal({newCompartment: true});
+var dbg = Debugger(g);
+var frame;
+dbg.onExceptionUnwind = function (f, x) {
+ frame = f;
+ assertEq(frame.onStack, true);
+ throw 'unhandled';
+};
+dbg.onDebuggerStatement = function(f) {
+ assertEq(f.eval('throw 42').throw, 42);
+ assertEq(frame.onStack, false);
+};
+g.eval('debugger');
+
+// Don't fail just because we reported an uncaught exception.
+quit(0);