|
1 // Setting onStep does not affect later calls to the same function. |
|
2 // (onStep is per-frame, not per-function.) |
|
3 |
|
4 var g = newGlobal(); |
|
5 g.a = 1; |
|
6 g.eval("function f(a) {\n" + |
|
7 " var x = 2 * a;\n" + |
|
8 " return x * x;\n" + |
|
9 "}\n"); |
|
10 |
|
11 var dbg = Debugger(g); |
|
12 var log = ''; |
|
13 dbg.onEnterFrame = function (frame) { |
|
14 log += '+'; |
|
15 frame.onStep = function () { |
|
16 if (log.charAt(log.length - 1) != 's') |
|
17 log += 's'; |
|
18 }; |
|
19 }; |
|
20 |
|
21 g.f(1); |
|
22 log += '|'; |
|
23 g.f(2); |
|
24 log += '|'; |
|
25 dbg.onEnterFrame = undefined; |
|
26 g.f(3); |
|
27 |
|
28 assertEq(log, '+s|+s|'); |