Environment-getVariable-03.js (608B)
1 // getVariable sees bindings in let-block scopes. 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = Debugger(g); 5 var log = ''; 6 dbg.onDebuggerStatement = function (frame) { 7 log += frame.environment.getVariable("x"); 8 }; 9 g.eval("function f() {\n" + 10 " let x = 'a';\n" + 11 " debugger;\n" + 12 " for (let x = 0; x < 2; x++)\n" + 13 " if (x === 0)\n" + 14 " debugger;\n" + 15 " else {\n" + 16 " let x = 'b'; debugger;\n" + 17 " }\n" + 18 "}\n"); 19 g.f(); 20 g.eval("{ let x = 'd'; debugger; }"); 21 assertEq(log, 'a0bd');