tor-browser

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

asyncHelpers-throwsAsync-same-realm.js (1009B)


      1 // |reftest| async
      2 // Copyright (C) 2022 Igalia, S.L. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 /*---
      5 description: |
      6    Thenables that reject with instances of the realm specified constructor function
      7    do not satisfy the assertion with cross realms collisions.
      8 flags: [async]
      9 includes: [asyncHelpers.js]
     10 ---*/
     11 
     12 asyncTest(async function () {
     13  var intrinsicTypeError = TypeError;
     14  var caught = false;
     15  var realmGlobal = $262.createRealm().global;
     16 
     17  const p = assert.throwsAsync(TypeError, async function () {
     18    throw new realmGlobal.TypeError();
     19  });
     20  assert(p instanceof Promise);
     21  try {
     22    await p;
     23  } catch (err) {
     24    caught = true;
     25    assert.sameValue(
     26      err.constructor,
     27      Test262Error,
     28      "Expected a Test262Error, but a '" +
     29        err.constructor.name +
     30        "' was thrown."
     31    );
     32  } finally {
     33    assert(
     34      caught,
     35      "assert.throwsAsync did not reject when a different realm's error was thrown"
     36    );
     37  }
     38 });