diff options
author | Moonchild <moonchild@palemoon.org> | 2020-07-03 13:56:49 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-07-03 13:56:49 +0000 |
commit | 61a471ef17645c211d228b4dd085a933fba6e6ba (patch) | |
tree | 0ee6503cf1aadea9e5737056896fa61782cb1822 /js/src/jit-test/tests/modules/bad-namespace-created.js | |
parent | 98752af13349e2da56b5ed1219cae30008ef250a (diff) | |
download | UXP-61a471ef17645c211d228b4dd085a933fba6e6ba.tar UXP-61a471ef17645c211d228b4dd085a933fba6e6ba.tar.gz UXP-61a471ef17645c211d228b4dd085a933fba6e6ba.tar.lz UXP-61a471ef17645c211d228b4dd085a933fba6e6ba.tar.xz UXP-61a471ef17645c211d228b4dd085a933fba6e6ba.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.js | 17 |
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);
|