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/global-scope.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/global-scope.js')
-rw-r--r-- | js/src/jit-test/tests/modules/global-scope.js | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/js/src/jit-test/tests/modules/global-scope.js b/js/src/jit-test/tests/modules/global-scope.js index 90a9f7026..b99019fa8 100644 --- a/js/src/jit-test/tests/modules/global-scope.js +++ b/js/src/jit-test/tests/modules/global-scope.js @@ -1,32 +1,34 @@ // Test interaction with global object and global lexical scope. -function parseAndEvaluate(source) { +function evalModuleAndCheck(source, expected) { let m = parseModule(source); m.declarationInstantiation(); - return m.evaluation(); + m.evaluation(); + assertEq(getModuleEnvironmentValue(m, "r"), expected); } var x = 1; -assertEq(parseAndEvaluate("let r = x; x = 2; r"), 1); +evalModuleAndCheck("export let r = x; x = 2;", 1); assertEq(x, 2); let y = 3; -assertEq(parseAndEvaluate("let r = y; y = 4; r"), 3); +evalModuleAndCheck("export let r = y; y = 4;", 3); assertEq(y, 4); if (helperThreadCount() == 0) quit(); -function offThreadParseAndEvaluate(source) { +function offThreadEvalModuleAndCheck(source, expected) { offThreadCompileModule(source); let m = finishOffThreadModule(); print("compiled"); m.declarationInstantiation(); - return m.evaluation(); + m.evaluation(); + assertEq(getModuleEnvironmentValue(m, "r"), expected); } -assertEq(offThreadParseAndEvaluate("let r = x; x = 5; r"), 2); +offThreadEvalModuleAndCheck("export let r = x; x = 5;", 2); assertEq(x, 5); -assertEq(offThreadParseAndEvaluate("let r = y; y = 6; r"), 4); +offThreadEvalModuleAndCheck("export let r = y; y = 6;", 4); assertEq(y, 6); |