dispatch-01.js (523B)
1 // Test removing hooks during dispatch. 2 3 var g = newGlobal({newCompartment: true}); 4 var log = ''; 5 6 function addDebug(n) { 7 for (var i = 0; i < n; i++) { 8 var dbg = new Debugger(g); 9 dbg.num = i; 10 dbg.onDebuggerStatement = function (stack) { 11 log += this.num + ', '; 12 this.enabled = false; 13 this.onDebuggerStatement = undefined; 14 gc(); 15 }; 16 } 17 dbg = null; 18 } 19 20 addDebug(10); 21 g.eval("debugger;"); 22 assertEq(log, '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ');