tor-browser

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

test_import_global.js (1302B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 add_task(async function testShared() {
      6  const ns1 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs");
      7 
      8  const ns2 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
      9    global: "shared",
     10  });
     11 
     12  Assert.equal(ns1, ns2);
     13  Assert.equal(ns1.obj, ns2.obj);
     14 });
     15 
     16 add_task(async function testDevTools() {
     17  const ns1 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs");
     18 
     19  const ns2 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
     20    global: "devtools",
     21  });
     22 
     23  Assert.notEqual(ns1, ns2);
     24  Assert.notEqual(ns1.obj, ns2.obj);
     25 });
     26 
     27 add_task(async function testInvalidOptions() {
     28  // Unknown value is rejected.
     29  Assert.throws(() => {
     30    ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
     31      global: "invalid",
     32    });
     33  }, Error);
     34 
     35  Assert.throws(() => {
     36    ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
     37      global: globalThis,
     38    });
     39  }, Error);
     40 
     41  // Unknown name is ignored.
     42  ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
     43    global2: "shared",
     44  });
     45 });