summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/modules/bad-namespace-created.js
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-07-03 13:56:49 +0000
committerMoonchild <moonchild@palemoon.org>2020-07-10 18:29:33 +0000
commit3f25d0c8e4d9296f0d45c85c251eab71f076937b (patch)
tree2d5d342b0ea6f7b7cfcedc6bf3349ca3ff6cf418 /js/src/jit-test/tests/modules/bad-namespace-created.js
parentab0501702637f3448ec16a188a050e5b9f688787 (diff)
downloadUXP-3f25d0c8e4d9296f0d45c85c251eab71f076937b.tar
UXP-3f25d0c8e4d9296f0d45c85c251eab71f076937b.tar.gz
UXP-3f25d0c8e4d9296f0d45c85c251eab71f076937b.tar.lz
UXP-3f25d0c8e4d9296f0d45c85c251eab71f076937b.tar.xz
UXP-3f25d0c8e4d9296f0d45c85c251eab71f076937b.zip
Issue #618 - Align module instantiation/errors with the updated spec.
Store and re-throw module instantiation and evaluation errors. Ref: BZ 1374239, 1394492
Diffstat (limited to 'js/src/jit-test/tests/modules/bad-namespace-created.js')
-rw-r--r--js/src/jit-test/tests/modules/bad-namespace-created.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/modules/bad-namespace-created.js b/js/src/jit-test/tests/modules/bad-namespace-created.js
new file mode 100644
index 000000000..127892d6e
--- /dev/null
+++ b/js/src/jit-test/tests/modules/bad-namespace-created.js
@@ -0,0 +1,17 @@
+// Prior to https://github.com/tc39/ecma262/pull/916 it was possible for a
+// module namespace object to be successfully created that was later found to be
+// erroneous. Test that this is no longer the case.
+
+"use strict";
+
+load(libdir + "asserts.js");
+load(libdir + "dummyModuleResolveHook.js");
+
+moduleRepo['A'] = parseModule('import "B"; export {x} from "C"');
+moduleRepo['B'] = parseModule('import * as a from "A"');
+moduleRepo['C'] = parseModule('export * from "D"; export * from "E"');
+moduleRepo['D'] = parseModule('export let x');
+moduleRepo['E'] = parseModule('export let x');
+
+let m = moduleRepo['A'];
+assertThrowsInstanceOf(() => m.declarationInstantiation(), SyntaxError);