michael@0: // Basic breakpoint test. michael@0: michael@0: var g = newGlobal(); michael@0: g.s = ''; michael@0: var handler = { michael@0: hit: function (frame) { michael@0: assertEq(this, handler); michael@0: g.s += '1'; michael@0: } michael@0: }; michael@0: var dbg = Debugger(g); michael@0: dbg.onDebuggerStatement = function (frame) { michael@0: g.s += '0'; michael@0: var line0 = frame.script.getOffsetLine(frame.offset); michael@0: var offs = frame.script.getLineOffsets(line0 + 2); michael@0: for (var i = 0; i < offs.length; i++) michael@0: frame.script.setBreakpoint(offs[i], handler); michael@0: }; michael@0: g.eval("debugger;\n" + michael@0: "s += 'a';\n" + // line0 + 1 michael@0: "s += 'b';\n"); // line0 + 2 michael@0: assertEq(g.s, "0a1b");