tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_callFunctionWithAsyncStack.js (895B)


      1 function run_test() {
      2  if (!Services.prefs.getBoolPref("javascript.options.asyncstack")) {
      3    info("Async stacks are disabled.");
      4    return;
      5  }
      6 
      7  function getAsyncStack() {
      8    return Components.stack;
      9  }
     10 
     11  // asyncCause may contain non-ASCII characters.
     12  let testAsyncCause = "Tes" + String.fromCharCode(355) + "String";
     13 
     14  Cu.callFunctionWithAsyncStack(function asyncCallback() {
     15    let stack = Components.stack;
     16 
     17    Assert.equal(stack.name, "asyncCallback");
     18    Assert.equal(stack.caller, null);
     19    Assert.equal(stack.asyncCause, null);
     20 
     21    Assert.equal(stack.asyncCaller.name, "getAsyncStack");
     22    Assert.equal(stack.asyncCaller.asyncCause, testAsyncCause);
     23    Assert.equal(stack.asyncCaller.asyncCaller, null);
     24 
     25    Assert.equal(stack.asyncCaller.caller.name, "run_test");
     26    Assert.equal(stack.asyncCaller.caller.asyncCause, null);
     27  }, getAsyncStack(), testAsyncCause);
     28 }