tor-browser

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

Debugger-onNewPromise-05.js (508B)


      1 // Creating a promise within an onNewPromise handler causes a recursive handler
      2 // invocation.
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = new Debugger();
      5 var gw = dbg.addDebuggee(g);
      6 var log;
      7 var depth;
      8 
      9 dbg.onNewPromise = function (promise) {
     10  log += '('; depth++;
     11 
     12  assertEq(promise.seen, undefined);
     13  promise.seen = true;
     14 
     15  if (depth < 3)
     16      gw.executeInGlobal(`new Promise(_=>{})`);
     17 
     18  log += ')'; depth--;
     19 };
     20 
     21 log = '';
     22 depth = 0;
     23 new g.Promise(function (){});
     24 assertEq(log, '((()))');