summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-eval-24.js
blob: b731771c64bf8eb9f2aaa4016e0e0da420633677 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Make sure the getVariable/setVariable/eval functions work correctly with
// unaliased locals.
var g = newGlobal();
g.eval('\
function g() { debugger; };\
function f(arg) {\
    var y = arg - 3;\
    var a1 = 1;\
    var a2 = 1;\
    var b = arg + 9;\
    var z = function() { return a1 + a2; };\
    g();\
};');

var dbg = new Debugger(g);

dbg.onDebuggerStatement = function handleDebugger(frame) {
    assertEq(frame.older.eval("y + b").return, 26);
    assertEq(frame.older.environment.getVariable("y"), 7);
    frame.older.environment.setVariable("b", 4);
    assertEq(frame.older.eval("y + b").return, 11);
};

g.f(10);