summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Script-getOffsetLine-02.js
blob: d118e0e2db5d7408271366cffdf5bd7482c0a0e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Frame.script/offset and Script.getOffsetLocation work in non-top frames.

var g = newGlobal({newCompartment: true});
var dbg = Debugger(g);
var hits = 0;
dbg.onDebuggerStatement = function (frame) {
    var a = [];
    for (; frame.type == "call"; frame = frame.older)
        a.push(frame.script.getOffsetLocation(frame.offset).lineNumber - g.line0);
    assertEq(a.join(","), "1,2,3,4");
    hits++;
};
g.eval("var line0 = Error().lineNumber;\n" +
       "function f0() { debugger; }\n" +
       "function f1() { f0(); }\n" +
       "function f2() { f1(); }\n" +
       "function f3() { f2(); }\n" +
       "f3();\n");
assertEq(hits, 1);