summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-onPop-11.js
blob: 36b58cd6dc53ad8b9ab9093a4ea8f3106ac54c39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Setting onPop handlers from breakpoint handlers works.
var g = newGlobal({newCompartment: true});
g.eval("function f(){ return 'to normalcy'; }");
var dbg = new Debugger();
var gw = dbg.addDebuggee(g);
var log;

// Set a breakpoint at the start of g.f
var gf = gw.makeDebuggeeValue(g.f);
var fStartOffset = gf.script.getLineOffsets(gf.script.startLine)[0];
gf.script.setBreakpoint(fStartOffset, {
    hit: function handleHit(frame) {
        log += 'b';
        frame.onPop = function handlePop(c) {
            log += ')';
            assertEq(c.return, "to normalcy");
        };
    }
});

log = "";
assertEq(g.f(), "to normalcy");
assertEq(log, "b)");