Frame-evalWithBindings-11.js (490B)
1 // var statements in non-strict evalWithBindings code behave like non-strict direct eval. 2 var g = newGlobal({newCompartment: true}); 3 var dbg = new Debugger(g); 4 var log; 5 dbg.onDebuggerStatement = function (frame) { 6 log += 'd'; 7 assertEq(frame.evalWithBindings("var i = v; 42;", { v: 'inner' }).return, 42); 8 }; 9 10 g.i = 'outer'; 11 log = ''; 12 assertEq(g.eval('debugger; i;'), 'inner'); 13 assertEq(log, 'd'); 14 15 g.j = 'outer'; 16 log = ''; 17 assertEq(g.eval('debugger; j;'), 'outer'); 18 assertEq(log, 'd');