blob: b1df83a19c81708d236f106e6cd17fd7be95682f [file] [log] [blame]
// var statements in non-strict evalWithBindings code behave like non-strict direct eval.
var g = newGlobal();
var dbg = new Debugger(g);
var log;
dbg.onDebuggerStatement = function (frame) {
log += 'd';
assertEq(frame.evalWithBindings("var i = v; 42;", { v: 'inner' }).return, 42);
};
g.i = 'outer';
log = '';
assertEq(g.eval('debugger; i;'), 'inner');
assertEq(log, 'd');
g.j = 'outer';
log = '';
assertEq(g.eval('debugger; j;'), 'outer');
assertEq(log, 'd');