1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/debug/resumption-05.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,36 @@ 1.4 +// |jit-test| debug 1.5 +// null resumption value means terminate the debuggee 1.6 + 1.7 +var g = newGlobal(); 1.8 +g.debuggeeGlobal = this; 1.9 +g.eval("(" + function () { 1.10 + var dbg = new Debugger(debuggeeGlobal); 1.11 + dbg.onDebuggerStatement = function (frame) { 1.12 + if (frame.callee === null) { 1.13 + // The first debugger statement below. 1.14 + debuggeeGlobal.log += "1"; 1.15 + var cv = frame.eval("f();"); 1.16 + assertEq(cv, null); 1.17 + debuggeeGlobal.log += "2"; 1.18 + } else { 1.19 + // The second debugger statement. 1.20 + debuggeeGlobal.log += "3"; 1.21 + assertEq(frame.callee.name, "f"); 1.22 + return null; 1.23 + } 1.24 + }; 1.25 + } + ")()"); 1.26 + 1.27 +var log = ""; 1.28 +debugger; 1.29 + 1.30 +function f() { 1.31 + log += "4"; 1.32 + try { 1.33 + debugger; // the debugger terminates us here 1.34 + } finally { 1.35 + log += "5"; // this should not execute 1.36 + } 1.37 +} 1.38 + 1.39 +assertEq(log, "1432");