js/src/jit-test/tests/debug/resumption-07.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:7fb9ded6bad4
1 // Return resumption values to non-debuggee frames.
2
3 load(libdir + 'asserts.js');
4
5 var g = newGlobal();
6 var dbg = new Debugger;
7
8 var log;
9
10 function handlerWithResumption(resumption) {
11 return function (frame) {
12 log += 'd';
13 dbg.removeDebuggee(g);
14 return resumption;
15 };
16 }
17
18 log = '';
19 dbg.onDebuggerStatement = handlerWithResumption(undefined);
20 dbg.addDebuggee(g);
21 assertEq(g.eval('debugger; 42;'), 42);
22 assertEq(log, 'd');
23
24 log = '';
25 dbg.onDebuggerStatement = handlerWithResumption({ return: 1729 });
26 dbg.addDebuggee(g);
27 assertEq(g.eval('debugger; 42;'), 1729);
28 assertEq(log, 'd');
29
30 log = '';
31 dbg.onDebuggerStatement = handlerWithResumption(null);
32 dbg.addDebuggee(g);
33 assertEq(g.evaluate('debugger; 42;', { catchTermination: true }), 'terminated');
34 assertEq(log, 'd');

mercurial