|
1 function run_test() |
|
2 { |
|
3 Components.utils.import("resource://gre/modules/jsdebugger.jsm"); |
|
4 addDebuggerToGlobal(this); |
|
5 var xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector); |
|
6 var g = testGlobal("test1"); |
|
7 |
|
8 var dbg = new Debugger(); |
|
9 dbg.uncaughtExceptionHook = testExceptionHook; |
|
10 |
|
11 dbg.addDebuggee(g); |
|
12 dbg.onDebuggerStatement = function(aFrame) { |
|
13 do_check_true(aFrame === dbg.getNewestFrame()); |
|
14 // Execute from the nested event loop, dbg.getNewestFrame() won't |
|
15 // be working anymore. |
|
16 |
|
17 do_execute_soon(function() { |
|
18 try { |
|
19 do_check_true(aFrame === dbg.getNewestFrame()); |
|
20 } finally { |
|
21 xpcInspector.exitNestedEventLoop("test"); |
|
22 } |
|
23 }); |
|
24 xpcInspector.enterNestedEventLoop("test"); |
|
25 }; |
|
26 |
|
27 g.eval("function debuggerStatement() { debugger; }; debuggerStatement();"); |
|
28 |
|
29 dbg.enabled = false; |
|
30 } |