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 000000000..0c2752ee2
--- /dev/null
+++ b/js/src/jit-test/tests/debug/onExceptionUnwind-08.js
@@ -0,0 +1,18 @@
+// Ensure that ScriptDebugEpilogue gets called when onExceptionUnwind
+// throws an uncaught exception.
+var g = newGlobal();
+var dbg = Debugger(g);
+var frame;
+dbg.onExceptionUnwind = function (f, x) {
+ frame = f;
+ assertEq(frame.live, true);
+ throw 'unhandled';
+};
+dbg.onDebuggerStatement = function(f) {
+ assertEq(f.eval('throw 42'), null);
+ assertEq(frame.live, false);
+};
+g.eval('debugger');
+
+// Don't fail just because we reported an uncaught exception.
+quit(0);