|
1 // The objects on the environment chain are all Debugger.Environment objects. |
|
2 // The environment chain ends in null. |
|
3 |
|
4 var g = newGlobal() |
|
5 g.eval("function f(a) { return function (b) { return function (c) { h(); return a + b + c; }; }; }"); |
|
6 var dbg = Debugger(g); |
|
7 var hits = 0; |
|
8 g.h = function () { |
|
9 var n = 0; |
|
10 for (var env = dbg.getNewestFrame().environment; env !== null; env = env.parent) { |
|
11 n++; |
|
12 assertEq(env instanceof Debugger.Environment, true); |
|
13 } |
|
14 assertEq(n >= 4, true); |
|
15 hits++; |
|
16 }; |
|
17 assertEq(g.f(5)(7)(9), 21); |
|
18 assertEq(hits, 1); |