summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/breakpoint-noncng.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/breakpoint-noncng.js')
-rw-r--r--js/src/jit-test/tests/debug/breakpoint-noncng.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/breakpoint-noncng.js b/js/src/jit-test/tests/debug/breakpoint-noncng.js
new file mode 100644
index 0000000000..2ce779cbd7
--- /dev/null
+++ b/js/src/jit-test/tests/debug/breakpoint-noncng.js
@@ -0,0 +1,20 @@
+// Breakpoints work in non-compile-and-go code. Bug 738479.
+
+var g = newGlobal({newCompartment: true});
+g.s = '';
+var dbg = new Debugger;
+var gw = dbg.addDebuggee(g);
+g.evaluate(
+ "function f() {\n" + // fscript.startLine
+ " s += 'a';\n" + // fscript.startLine + 1
+ " s += 'b';\n" + // fscript.startLine + 2
+ "}\n");
+
+var fscript = gw.makeDebuggeeValue(g.f).script;
+var handler = {hit: function (frame) { g.s += '1'; }};
+for (var pc of fscript.getLineOffsets(fscript.startLine + 2))
+ fscript.setBreakpoint(pc, handler);
+
+g.f();
+
+assertEq(g.s, "a1b");