|
1 // removeAllDebuggees removes all the debuggees. |
|
2 |
|
3 var dbg = new Debugger; |
|
4 |
|
5 // If we eval in a debuggee, log which debuggee it was. |
|
6 var log; |
|
7 dbg.onEnterFrame = function (frame) { |
|
8 log += 'e'; |
|
9 log += frame.environment.object.label; |
|
10 }; |
|
11 |
|
12 var g1 = newGlobal(); |
|
13 log = ''; |
|
14 g1.eval('Math'); |
|
15 assertEq(log, ''); // not yet a debuggee |
|
16 |
|
17 var g1w = dbg.addDebuggee(g1); |
|
18 assertEq(g1w instanceof Debugger.Object, true); |
|
19 g1w.label = 'g1'; |
|
20 log = ''; |
|
21 g1.eval('Math'); // now a debuggee |
|
22 assertEq(log, 'eg1'); |
|
23 |
|
24 var g2 = newGlobal(); |
|
25 log = ''; |
|
26 g1.eval('Math'); // debuggee |
|
27 g2.eval('Math'); // not a debuggee |
|
28 assertEq(log, 'eg1'); |
|
29 |
|
30 var g2w = dbg.addDebuggee(g2); |
|
31 assertEq(g2w instanceof Debugger.Object, true); |
|
32 g2w.label = 'g2'; |
|
33 log = ''; |
|
34 g1.eval('Math'); // debuggee |
|
35 g2.eval('this'); // debuggee |
|
36 assertEq(log, 'eg1eg2'); |
|
37 |
|
38 var a1 = dbg.getDebuggees(); |
|
39 assertEq(a1.length, 2); |
|
40 |
|
41 assertEq(dbg.removeAllDebuggees(), undefined); |
|
42 var a2 = dbg.getDebuggees(); |
|
43 assertEq(a2.length, 0); |
|
44 |
|
45 log = ''; |
|
46 g1.eval('Math'); // no longer a debuggee |
|
47 g2.eval('this'); // no longer a debuggee |
|
48 assertEq(log, ''); |