js/src/jit-test/tests/debug/breakpoint-04.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 // Hitting a breakpoint with no hit method does nothing.
     3 var g = newGlobal();
     4 g.s = '';
     5 g.eval("var line0 = Error().lineNumber;\n" +
     6        "function f() {\n" +   // line0 + 1
     7        "    debugger;\n" +  // line0 + 2
     8        "    s += 'x';\n" +  // line0 + 3
     9        "}\n")
    10 var dbg = Debugger(g);
    11 var bp = [];
    12 dbg.onDebuggerStatement = function (frame) {
    13     g.s += 'D';
    14     var arr = frame.script.getLineOffsets(g.line0 + 3);
    15     for (var i = 0; i < arr.length; i++) {
    16         var obj = {};
    17         bp[i] = obj;
    18         frame.script.setBreakpoint(arr[i], obj);
    19     }
    20 };
    22 g.f();
    23 assertEq(g.s, "Dx");
    25 dbg.onDebuggerStatement = undefined;
    27 for (var i = 0; i < bp.length; i++)
    28     bp[i].hit = function () { g.s += 'B'; };
    29 g.f();
    30 assertEq(g.s, "DxBx");

mercurial