/js/src/jit-test/tests/debug/Debugger-clearAllBreakpoints-01.js

http://github.com/zpao/v8monkey · JavaScript · 29 lines · 24 code · 4 blank · 1 comment · 2 complexity · 5ca23c4457215e29f021c9ae8791d014 MD5 · raw file

  1. // clearAllBreakpoints clears breakpoints for the current Debugger object only.
  2. var g = newGlobal('new-compartment');
  3. var hits = 0;
  4. function attach(i) {
  5. var dbg = Debugger(g);
  6. var handler = {
  7. hit: function (frame) {
  8. hits++;
  9. dbg.clearAllBreakpoints(handler);
  10. }
  11. };
  12. dbg.onDebuggerStatement = function (frame) {
  13. var s = frame.script;
  14. var offs = s.getLineOffsets(g.line0 + 3);
  15. for (var i = 0; i < offs.length; i++)
  16. s.setBreakpoint(offs[i], handler);
  17. };
  18. }
  19. for (var i = 0; i < 4; i++)
  20. attach(i);
  21. g.eval("var line0 = Error().lineNumber;\n" +
  22. "debugger;\n" + // line0 + 1
  23. "for (var i = 0; i < 7; i++)\n" + // line0 + 2
  24. " Math.sin(0);\n"); // line0 + 3
  25. assertEq(hits, 4);