tor-browser

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

onExceptionUnwind-resumption-async.js (564B)


      1 load(libdir + "asserts.js");
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = Debugger(g);
      5 
      6 g.eval(`
      7 async function f() {
      8    return e;
      9 }
     10 `);
     11 
     12 // Just continue
     13 dbg.onExceptionUnwind = function(frame) {
     14    return undefined;
     15 };
     16 g.eval(`
     17 var E;
     18 f().catch(e => { exc = e });
     19 drainJobQueue();
     20 assertEq(exc instanceof ReferenceError, true);
     21 `);
     22 
     23 // Return with resumption value.
     24 dbg.onExceptionUnwind = function(frame) {
     25    return {
     26        return: 10
     27    };
     28 };
     29 var val = g.eval(`
     30 var val;
     31 f().then(v => { val = v });
     32 drainJobQueue();
     33 val;
     34 `);
     35 assertEq(val, 10);