Frame-eval-05.js (426B)
1 // var declarations in strict frame.eval do not modify the frame 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger(g); 5 var cv; 6 dbg.onDebuggerStatement = function (frame) { 7 cv = frame.eval("'use strict'; var a = 2; h();"); 8 }; 9 g.a = 1; 10 g.eval("function f(s) { function h() { return a; } eval(s); debugger; } "); 11 g.eval("f('0');"); 12 assertEq(cv.return, 1); 13 g.eval("f('var a = 3;');"); 14 assertEq(cv.return, 3);