toolkit/devtools/server/tests/unit/test_getyoungestframe.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/toolkit/devtools/server/tests/unit/test_getyoungestframe.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,30 @@
     1.4 +function run_test()
     1.5 +{
     1.6 +  Components.utils.import("resource://gre/modules/jsdebugger.jsm");
     1.7 +  addDebuggerToGlobal(this);
     1.8 +  var xpcInspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
     1.9 +  var g = testGlobal("test1");
    1.10 +
    1.11 +  var dbg = new Debugger();
    1.12 +  dbg.uncaughtExceptionHook = testExceptionHook;
    1.13 +
    1.14 +  dbg.addDebuggee(g);
    1.15 +  dbg.onDebuggerStatement = function(aFrame) {
    1.16 +    do_check_true(aFrame === dbg.getNewestFrame());
    1.17 +    // Execute from the nested event loop, dbg.getNewestFrame() won't
    1.18 +    // be working anymore.
    1.19 +
    1.20 +    do_execute_soon(function() {
    1.21 +      try {
    1.22 +        do_check_true(aFrame === dbg.getNewestFrame());
    1.23 +      } finally {
    1.24 +        xpcInspector.exitNestedEventLoop("test");
    1.25 +      }
    1.26 +    });
    1.27 +    xpcInspector.enterNestedEventLoop("test");
    1.28 +  };
    1.29 +
    1.30 +  g.eval("function debuggerStatement() { debugger; }; debuggerStatement();");
    1.31 +
    1.32 +  dbg.enabled = false;
    1.33 +}

mercurial