Script-clearBreakpoint-01.js (691B)
1 // A breakpoint handler may clear itself. 2 3 var g = newGlobal({newCompartment: true}); 4 var bphits = 0; 5 var handler = {hit: function (frame) { frame.script.clearBreakpoint(this); bphits++; }}; 6 var dbg = Debugger(g); 7 var hits = 0; 8 dbg.onDebuggerStatement = function (frame) { 9 var offs = frame.script.getLineOffsets(g.line0 + 3); 10 for (var i = 0; i < offs.length; i++) 11 frame.script.setBreakpoint(offs[i], handler); 12 hits++; 13 }; 14 g.eval("var line0 = Error().lineNumber;\n" + 15 "debugger;\n" + // line0 + 1 16 "for (var i = 0; i < 4; i++)\n" + // line0 + 2 17 " result = 'ok';\n"); // line0 + 3 18 assertEq(hits, 1); 19 assertEq(bphits, 1);