js/src/jit-test/tests/debug/Script-clearBreakpoint-01.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // A breakpoint handler may clear itself.
     3 var g = newGlobal();
     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);

mercurial