// Disabling a Debugger object causes events to stop being delivered to it | |
// immediately, even if we're in the middle of dispatching. | |
var g = newGlobal(); | |
var log; | |
var arr = []; | |
for (var i = 0; i < 4; i++) { | |
arr[i] = new Debugger(g); | |
arr[i].num = i; | |
arr[i].onDebuggerStatement = function () { | |
log += this.num; | |
// Disable them all. | |
for (var j = 0; j < arr.length; j++) | |
arr[j].enabled = false; | |
}; | |
} | |
log = ''; | |
g.eval("debugger; debugger;"); | |
assertEq(log, '0'); |