tor-browser

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

suppressed-error-handling-diff-global.js (866B)


      1 // |jit-test| skip-if: !getBuildConfiguration("explicit-resource-management"); --enable-explicit-resource-management
      2 
      3 load(libdir + "asserts.js");
      4 
      5 {
      6  const disposed = [];
      7  const g1 = newGlobal({ newCompartment: true });
      8  const g2 = newGlobal({ newCompartment: true });
      9  function testDifferentGlobalErrors() {
     10    const g1Error = g1.evaluate(`new Error("g1")`);
     11    const g2Error = g2.evaluate(`new Error("g2")`);
     12    using x = {
     13      [Symbol.dispose]() {
     14        disposed.push(1);
     15        throw g1Error;
     16      }
     17    }
     18    using y = {
     19      [Symbol.dispose]() {
     20        disposed.push(2);
     21        throw g2Error;
     22      }
     23    }
     24    throw new Error("g");
     25  }
     26  assertSuppressionChainErrorMessages(testDifferentGlobalErrors, [
     27    {ctor: g1.evaluate('Error'), message: 'g1'},
     28    {ctor: g2.evaluate('Error'), message: 'g2'},
     29    {ctor: Error, message: 'g'},
     30  ]);
     31 }