js/src/jit-test/tests/debug/breakpoint-04.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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