1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/debug/Debugger-debuggees-19.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,48 @@ 1.4 +// removeAllDebuggees removes all the debuggees. 1.5 + 1.6 +var dbg = new Debugger; 1.7 + 1.8 +// If we eval in a debuggee, log which debuggee it was. 1.9 +var log; 1.10 +dbg.onEnterFrame = function (frame) { 1.11 + log += 'e'; 1.12 + log += frame.environment.object.label; 1.13 +}; 1.14 + 1.15 +var g1 = newGlobal(); 1.16 +log = ''; 1.17 +g1.eval('Math'); 1.18 +assertEq(log, ''); // not yet a debuggee 1.19 + 1.20 +var g1w = dbg.addDebuggee(g1); 1.21 +assertEq(g1w instanceof Debugger.Object, true); 1.22 +g1w.label = 'g1'; 1.23 +log = ''; 1.24 +g1.eval('Math'); // now a debuggee 1.25 +assertEq(log, 'eg1'); 1.26 + 1.27 +var g2 = newGlobal(); 1.28 +log = ''; 1.29 +g1.eval('Math'); // debuggee 1.30 +g2.eval('Math'); // not a debuggee 1.31 +assertEq(log, 'eg1'); 1.32 + 1.33 +var g2w = dbg.addDebuggee(g2); 1.34 +assertEq(g2w instanceof Debugger.Object, true); 1.35 +g2w.label = 'g2'; 1.36 +log = ''; 1.37 +g1.eval('Math'); // debuggee 1.38 +g2.eval('this'); // debuggee 1.39 +assertEq(log, 'eg1eg2'); 1.40 + 1.41 +var a1 = dbg.getDebuggees(); 1.42 +assertEq(a1.length, 2); 1.43 + 1.44 +assertEq(dbg.removeAllDebuggees(), undefined); 1.45 +var a2 = dbg.getDebuggees(); 1.46 +assertEq(a2.length, 0); 1.47 + 1.48 +log = ''; 1.49 +g1.eval('Math'); // no longer a debuggee 1.50 +g2.eval('this'); // no longer a debuggee 1.51 +assertEq(log, '');