|
1 // frame.eval works in the enterFrame hook. |
|
2 // It triggers the enterFrame hook again, recursively. (!) |
|
3 |
|
4 var g = newGlobal(); |
|
5 g.a = "."; |
|
6 |
|
7 var dbg = Debugger(g); |
|
8 var nestCount = 0, N = 9; |
|
9 var log = ""; |
|
10 dbg.onEnterFrame = function (frame) { |
|
11 assertEq(frame.type, "eval"); |
|
12 if (nestCount < N) { |
|
13 log += '('; |
|
14 nestCount++; |
|
15 var a = frame.eval("a").return; |
|
16 log += a; |
|
17 nestCount--; |
|
18 log += ')'; |
|
19 } |
|
20 }; |
|
21 |
|
22 assertEq(g.eval("a"), "."); |
|
23 assertEq(log, Array(N + 1).join("(") + Array(N + 1).join(".)")); |