tor-browser

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

bug842431-3.js (598B)


      1 // |jit-test|
      2 
      3 // If an exception unwind hook performs a forced return, and this calls an
      4 // onPop handler that throws, the exception should not be handled in the
      5 // current frame but propagated to the caller.
      6 var g = newGlobal({newCompartment: true});
      7 var dbg = new Debugger(g);
      8 
      9 g.eval('function f() { try { var y; throw 123; } catch(e) { assertEq(0, 1); } }');
     10 
     11 dbg.onExceptionUnwind = function(frame) {
     12    frame.onPop = function() {
     13 return {throw: 321};
     14    }
     15 
     16    return {return: 11};
     17 };
     18 
     19 try {
     20    g.f();
     21    assertEq(0, 1);
     22 } catch(e) {
     23    assertEq(e.toString().includes("321"), true);
     24 }