summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-evalWithBindings-04.js
blob: d828a118311ffc2161f29b21c76a5251e2ef5d7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// evalWithBindings works on non-top frames.
var g = newGlobal();
var dbg = new Debugger(g);
var f1;
var hits = 0;
dbg.onDebuggerStatement = function (frame) {
    assertEq(frame.older.evalWithBindings("q + r", {r: 3}).return, 5);

    // frame.older.older is in the same function as frame, but a different activation of it
    assertEq(frame.older.older.evalWithBindings("q + r", {r: 3}).return, 6);
    hits++;
};

g.eval("function f1(q) { if (q == 1) debugger; else f2(2); }");
g.eval("function f2(arg) { var q = arg; f1(1); }");
g.f1(3);
assertEq(hits, 1);