|
1 // getVariable sees bindings in let-block scopes. |
|
2 |
|
3 var g = newGlobal(); |
|
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 = 'c') { debugger; }"); |
|
21 g.eval("{ let x = 'd'; debugger; }"); |
|
22 assertEq(log, 'a0bcd'); |