tor-browser

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

onEnterFrame-async-resumption-11.js (641B)


      1 // If the async function's promise is already resolved, any attempt to return
      2 // a differerent return value gets ignored.
      3 
      4 let g = newGlobal({newCompartment: true});
      5 g.eval(`
      6    async function f() {
      7        throw "ok";
      8    }
      9 `);
     10 
     11 let dbg = new Debugger(g);
     12 
     13 let hits = 0;
     14 dbg.onEnterFrame = frame => {
     15    frame.onPop = () => {
     16        hits += 1;
     17 
     18        // Normal functions can override the return value, but async functions
     19        // have already resolved their promise, so this return request will get
     20        // ignored.
     21        return {return: "FAIL"};
     22    };
     23 };
     24 
     25 g.f().catch(x => {
     26    assertEq(hits, 1);
     27    assertEq(x, "ok");
     28 });