Frame-evalWithBindings-04.js (583B)
1 // evalWithBindings works on non-top frames. 2 var g = newGlobal({newCompartment: true}); 3 var dbg = new Debugger(g); 4 var f1; 5 var hits = 0; 6 dbg.onDebuggerStatement = function (frame) { 7 assertEq(frame.older.evalWithBindings("q + r", {r: 3}).return, 5); 8 9 // frame.older.older is in the same function as frame, but a different activation of it 10 assertEq(frame.older.older.evalWithBindings("q + r", {r: 3}).return, 6); 11 hits++; 12 }; 13 14 g.eval("function f1(q) { if (q == 1) debugger; else f2(2); }"); 15 g.eval("function f2(arg) { var q = arg; f1(1); }"); 16 g.f1(3); 17 assertEq(hits, 1);