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

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:6599d934e537
1 // Hitting a breakpoint with no hit method does nothing.
2
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 };
21
22 g.f();
23 assertEq(g.s, "Dx");
24
25 dbg.onDebuggerStatement = undefined;
26
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