Bug 1915045 Ensure decode tasks are scheduled on BufferingState::Enter() r=media...
[gecko.git] / js / xpconnect / tests / unit / test_import_global.js
blob97dbaac90d1b2f346c206233fc1ae425f9c6e80d
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/. */
5 add_task(async function testShared() {
6   const ns1 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs");
8   const ns2 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
9     global: "shared",
10   });
12   Assert.equal(ns1, ns2);
13   Assert.equal(ns1.obj, ns2.obj);
14 });
16 add_task(async function testDevTools() {
17   const ns1 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs");
19   const ns2 = ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
20     global: "devtools",
21   });
23   Assert.notEqual(ns1, ns2);
24   Assert.notEqual(ns1.obj, ns2.obj);
25 });
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);
35   Assert.throws(() => {
36     ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
37       global: globalThis,
38     });
39   }, Error);
41   // Unknown name is ignored.
42   ChromeUtils.importESModule("resource://test/esmified-1.sys.mjs", {
43     global2: "shared",
44   });
45 });