diff options
Diffstat (limited to 'js/src/jit-test/tests/baseline/bug842431-2.js')
-rw-r--r-- | js/src/jit-test/tests/baseline/bug842431-2.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/baseline/bug842431-2.js b/js/src/jit-test/tests/baseline/bug842431-2.js new file mode 100644 index 000000000..7df2ea58e --- /dev/null +++ b/js/src/jit-test/tests/baseline/bug842431-2.js @@ -0,0 +1,25 @@ +// |jit-test| + +// If a frame's onPop handler throws, we should not call the +// onExceptionUnwind hook for that frame. +var g = newGlobal(); +var dbg = new Debugger(g); + +g.eval('function f() { var y; debugger; }'); + +dbg.onExceptionUnwind = function() { + assertEq(0, 1); +}; + +dbg.onDebuggerStatement = function handleDebugger(frame) { + frame.onPop = function(c) { + return {throw: 555}; + } +}; + +try { + g.f(); + assertEq(0, 2); +} catch(e) { + assertEq(e.toString().includes("555"), true); +} |