Files
tubestation/devtools/server/tests/unit/test_getyoungestframe.js

31 lines
902 B
JavaScript

/* eslint-disable strict */
function run_test() {
Components.utils.import("resource://gre/modules/jsdebugger.jsm");
addDebuggerToGlobal(this);
let xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
let g = testGlobal("test1");
let dbg = new Debugger();
dbg.uncaughtExceptionHook = testExceptionHook;
dbg.addDebuggee(g);
dbg.onDebuggerStatement = function (frame) {
do_check_true(frame === dbg.getNewestFrame());
// Execute from the nested event loop, dbg.getNewestFrame() won't
// be working anymore.
do_execute_soon(function () {
try {
do_check_true(frame === dbg.getNewestFrame());
} finally {
xpcInspector.exitNestedEventLoop("test");
}
});
xpcInspector.enterNestedEventLoop("test");
};
g.eval("function debuggerStatement() { debugger; }; debuggerStatement();");
dbg.enabled = false;
}