blob: 0de428c563b18a7a68fd4b65ac6e1977238f7da0 (
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({newCompartment: true});
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);
|