|
1 // enterFrame test with recursive debuggee function. |
|
2 |
|
3 var g = newGlobal(); |
|
4 var N = g.N = 9; |
|
5 g.eval("function f(i) { if (i < N) f(i + 1); }"); |
|
6 |
|
7 var dbg = Debugger(g); |
|
8 var arr = []; |
|
9 dbg.onEnterFrame = function (frame) { |
|
10 var i; |
|
11 for (i = 0; i < arr.length; i++) |
|
12 assertEq(frame !== arr[i], true); |
|
13 arr[i] = frame; |
|
14 |
|
15 // Check that the whole stack is as expected. |
|
16 var j = i; |
|
17 for (; frame; frame = frame.older) |
|
18 assertEq(arr[j--], frame); |
|
19 }; |
|
20 |
|
21 g.f(0); |
|
22 assertEq(arr.length, N + 1); |