tor-browser

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

Frame-onPop-async-02.js (787B)


      1 // |jit-test| error:all-jobs-completed-successfully
      2 
      3 load(libdir + 'match.js');
      4 load(libdir + 'match-debugger.js');
      5 const { Pattern } = Match;
      6 const { OBJECT_WITH_EXACTLY: EXACT } = Pattern;
      7 
      8 let g = newGlobal({newCompartment: true});
      9 let dbg = Debugger(g);
     10 const log = [];
     11 g.capture = function () {
     12  dbg.getNewestFrame().onPop = completion => {
     13    log.push(completion);
     14  };
     15 };
     16 
     17 g.eval(`
     18    async function f() {
     19        capture();
     20        await Promise.resolve(3);
     21        return "ok";
     22    }
     23 `);
     24 
     25 
     26 const promise = g.f();
     27 promise.then(value => {
     28  assertEq(value, "ok");
     29 
     30  Pattern([
     31    EXACT({ return: new DebuggerObjectPattern("Promise"), await:true }),
     32    EXACT({ return: new DebuggerObjectPattern("Promise") }),
     33  ]).assert(log);
     34 
     35  throw "all-jobs-completed-successfully";
     36 });