diff options
author | Moonchild <moonchild@palemoon.org> | 2020-07-03 13:56:49 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-07-10 18:29:33 +0000 |
commit | 3f25d0c8e4d9296f0d45c85c251eab71f076937b (patch) | |
tree | 2d5d342b0ea6f7b7cfcedc6bf3349ca3ff6cf418 /js/src/jit-test/tests/modules/ambiguous-star-export.js | |
parent | ab0501702637f3448ec16a188a050e5b9f688787 (diff) | |
download | UXP-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/ambiguous-star-export.js')
-rw-r--r-- | js/src/jit-test/tests/modules/ambiguous-star-export.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/js/src/jit-test/tests/modules/ambiguous-star-export.js b/js/src/jit-test/tests/modules/ambiguous-star-export.js index b8c91445c..94aa7ac4a 100644 --- a/js/src/jit-test/tests/modules/ambiguous-star-export.js +++ b/js/src/jit-test/tests/modules/ambiguous-star-export.js @@ -5,10 +5,11 @@ load(libdir + "asserts.js"); load(libdir + "dummyModuleResolveHook.js"); -function checkModuleEval(source, result) { +function checkModuleEval(source) { let m = parseModule(source); m.declarationInstantiation(); - assertEq(m.evaluation(), result); + m.evaluation(); + return m; } function checkModuleSyntaxError(source) { @@ -23,17 +24,19 @@ c.declarationInstantiation(); c.evaluation(); // Check importing/exporting non-ambiguous name works. -checkModuleEval("import { a } from 'c'; a;", 1); -checkModuleEval("export { a } from 'c';", undefined); +let d = checkModuleEval("import { a } from 'c';"); +assertEq(getModuleEnvironmentValue(d, "a"), 1); +checkModuleEval("export { a } from 'c';"); // Check importing/exporting ambiguous name is a syntax error. checkModuleSyntaxError("import { b } from 'c';"); checkModuleSyntaxError("export { b } from 'c';"); // Check that namespace objects include only non-ambiguous names. -let m = parseModule("import * as ns from 'c'; ns;"); +let m = parseModule("import * as ns from 'c';"); m.declarationInstantiation(); -let ns = m.evaluation(); +m.evaluation(); +let ns = c.namespace; let names = Object.keys(ns); assertEq(names.length, 2); assertEq('a' in ns, true); |