summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-onPop-10.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-onPop-10.js')
-rw-r--r--js/src/jit-test/tests/debug/Frame-onPop-10.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-onPop-10.js b/js/src/jit-test/tests/debug/Frame-onPop-10.js
new file mode 100644
index 000000000..9184929a2
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Frame-onPop-10.js
@@ -0,0 +1,22 @@
+// Setting onPop handlers from an onStep handler works.
+var g = newGlobal();
+var dbg = new Debugger(g);
+var log;
+
+dbg.onDebuggerStatement = function handleDebugger(frame) {
+ log += 'd';
+ assertEq(frame.type, "eval");
+ frame.onStep = function handleStep() {
+ log += 's';
+ this.onStep = undefined;
+ this.onPop = function handlePop() {
+ log += ')';
+ };
+ };
+};
+
+log = "";
+g.flag = false;
+g.eval('debugger; flag = true');
+assertEq(log, 'ds)');
+assertEq(g.flag, true);