diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-onStack-06.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Frame-onStack-06.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-onStack-06.js b/js/src/jit-test/tests/debug/Frame-onStack-06.js new file mode 100644 index 0000000000..8316da9b9e --- /dev/null +++ b/js/src/jit-test/tests/debug/Frame-onStack-06.js @@ -0,0 +1,26 @@ +// frame.onStack is false for generator frames after they return. + +let g = newGlobal({newCompartment: true}); +g.eval("function* f() { debugger; }"); + +let dbg = Debugger(g); +let savedFrame; + +dbg.onDebuggerStatement = frame => { + savedFrame = frame; + assertEq(frame.callee.name, "f"); + assertEq(frame.onStack, true); + frame.onPop = function() { + assertEq(frame.onStack, true); + }; +}; +g.f().next(); + +assertEq(savedFrame.onStack, false); +try { + savedFrame.older; + throw new Error("expected exception, none thrown"); +} catch (exc) { + assertEq(exc.message, "Debugger.Frame is not on stack or suspended"); +} + |