// Basic Script.prototype.getBreakpoints tests. var g = newGlobal(); g.eval("var line0 = Error().lineNumber;\n" + "function f(x) {\n" + // line0 + 1 " if (x < 0)\n" + // line0 + 2 " return -x;\n" + // line0 + 3 " return x;\n" + "}"); var s; var offsets = []; var handlers = []; var dbg = Debugger(g); dbg.onDebuggerStatement = function (frame) { s = frame.eval("f").return.script; var off; for (var i = 0; i < 3; i++) { var off = s.getLineOffsets(g.line0 + 2 + i)[0]; assertEq(typeof off, 'number'); handlers[i] = {}; s.setBreakpoint(off, handlers[i]); offsets[i] = off; } }; g.eval("debugger;"); // getBreakpoints without an offset gets all breakpoints in the script. var bps = s.getBreakpoints(); assertEq(bps.length, handlers.length); for (var i = 0; i < bps.length; i++) assertEq(bps.indexOf(handlers[i]) !== -1, true); // getBreakpoints with an offset finds only breakpoints at that offset. for (var i = 0; i < offsets.length; i++) { var bps = s.getBreakpoints(offsets[i]); assertEq(bps.length, 1); assertEq(bps[0], handlers[i]); }