summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Script-getOffsetLine-02.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Script-getOffsetLine-02.js')
-rw-r--r--js/src/jit-test/tests/debug/Script-getOffsetLine-02.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Script-getOffsetLine-02.js b/js/src/jit-test/tests/debug/Script-getOffsetLine-02.js
new file mode 100644
index 0000000000..d118e0e2db
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Script-getOffsetLine-02.js
@@ -0,0 +1,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);