Name Description Size
always-create-new-promise.js --- description: > ImportCall returns a new instance of Promise esid: sec-import-call-runtime-semantics-evaluation info: | Import Calls Runtime Semantics: Evaluation ImportCall : import(AssignmentExpression) 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). 2. Let argRef be the result of evaluating AssignmentExpression. 3. Let specifier be ? GetValue(argRef). 4. Let promiseCapability be ! NewPromiseCapability(%Promise%). 5. Let specifierString be ToString(specifier). 6. IfAbruptRejectPromise(specifierString, promiseCapability). 7. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). 8. Return promiseCapability.[[Promise]]. features: [dynamic-import] --- 1523
assign-expr-get-value-abrupt-throws.js --- description: > Return Abrupt from the GetValue evaluation on the given AssignmentExpression esid: sec-import-call-runtime-semantics-evaluation info: | Import Calls Runtime Semantics: Evaluation ImportCall : import(AssignmentExpression) 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). 2. Let argRef be the result of evaluating AssignmentExpression. 3. Let specifier be ? GetValue(argRef). 4. Let promiseCapability be ! NewPromiseCapability(%Promise%). 5. Let specifierString be ToString(specifier). 6. IfAbruptRejectPromise(specifierString, promiseCapability). 7. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). 8. Return promiseCapability.[[Promise]]. features: [dynamic-import] --- 1260
assignment-expression
await-import-evaluation.js --- description: > Dynamic Import should await for evaluation esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. flags: [async] features: [dynamic-import] --- 1033
await-import-evaluation_FIXTURE.js 335
browser.js 0
catch
custom-primitive.js --- description: > Import a custom toString and valueOf bindings esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. d. Let namespace be GetModuleNamespace(moduleRecord). ... f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). flags: [async] features: [dynamic-import] includes: [asyncHelpers.js] --- 1466
custom-tostring_FIXTURE.js 214
custom-valueof_FIXTURE.js 209
dynamic-import-module_FIXTURE.js 194
empty_FIXTURE.js 163
escape-sequence-import.js --- esid: sec-left-hand-side-expressions description: > "import" must not contain escape sequences. info: | 5.1.5 Grammar Notation Terminal symbols are shown in fixed width font, both in the productions of the grammars and throughout this specification whenever the text directly refers to such a terminal symbol. These are to appear in a script exactly as written. All terminal symbol code points specified in this way are to be understood as the appropriate Unicode code points from the Basic Latin range, as opposed to any similar-looking code points from other Unicode ranges. CallExpression : MemberExpressionArguments SuperCall ImportCall CallExpressionArguments CallExpressionTemplateLiteral ImportCall : import( AssignmentExpression ) negative: phase: parse type: SyntaxError features: [dynamic-import] --- 1087
eval-export-dflt-cls-anon.js --- description: > Default "anonymous" class declaration is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] Runtime Semantics: Evaluation ExportDeclaration : export default ClassDeclaration [...] 3. Let className be the sole element of BoundNames of ClassDeclaration. 4. If className is "*default*", then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). c. Let env be the running execution context's LexicalEnvironment. d. Perform ? InitializeBoundName("*default*", value, env). 5. Return NormalCompletion(empty). flags: [async, module] features: [dynamic-import] --- 1381
eval-export-dflt-cls-name-meth.js --- description: > Default "anonymous" class declaration containing a static `name` method is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default ClassDeclaration [...] 3. Let className be the sole element of BoundNames of ClassDeclaration. 4. If className is "*default*", then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). c. Let env be the running execution context's LexicalEnvironment. d. Perform ? InitializeBoundName("*default*", value, env). 5. Return NormalCompletion(empty). flags: [async, module] features: [dynamic-import] --- 1380
eval-export-dflt-cls-named.js --- description: > Default "named" class declaration is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default ClassDeclaration [...] 3. Let className be the sole element of BoundNames of ClassDeclaration. 4. If className is "*default*", then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). c. Let env be the running execution context's LexicalEnvironment. d. Perform ? InitializeBoundName("*default*", value, env). 5. Return NormalCompletion(empty). flags: [async, module] features: [dynamic-import] --- 1392
eval-export-dflt-expr-cls-anon.js --- description: > Default AssignmentExpression (which can be recognized as an "anonymous" class declaration) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default AssignmentExpression; [...] 3. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). 4. Let env be the running execution context's LexicalEnvironment. 5. Perform ? InitializeBoundName("*default*", value, env). [...] flags: [async, module] features: [dynamic-import] --- 1380
eval-export-dflt-expr-cls-name-meth.js --- description: > Default AssignmentExpression (which can be recognized as an "anonymous" class declaration with a static `name` method) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default ClassDeclaration [...] 3. Let className be the sole element of BoundNames of ClassDeclaration. 4. If className is "*default*", then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). c. Let env be the running execution context's LexicalEnvironment. d. Perform ? InitializeBoundName("*default*", value, env). 5. Return NormalCompletion(empty). flags: [async, module] features: [dynamic-import] --- 1439
eval-export-dflt-expr-cls-named.js --- description: > Default AssignmentExpression (which can be recognized as a "named" class declaration) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default AssignmentExpression; [...] 3. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). 4. Let env be the running execution context's LexicalEnvironment. 5. Perform ? InitializeBoundName("*default*", value, env). [...] flags: [async, module] features: [dynamic-import] --- 1380
eval-export-dflt-expr-fn-anon.js --- description: > Default AssignmentExpression (which can be recognized as an "anonymous" function declaration) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default AssignmentExpression; [...] 3. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). 4. Let env be the running execution context's LexicalEnvironment. 5. Perform ? InitializeBoundName("*default*", value, env). [...] flags: [async, module] features: [dynamic-import] --- 1359
eval-export-dflt-expr-fn-named.js --- description: > Default AssignmentExpression (which can be recognized as a "named" function declaration) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default AssignmentExpression; [...] 3. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). 4. Let env be the running execution context's LexicalEnvironment. 5. Perform ? InitializeBoundName("*default*", value, env). [...] flags: [async, module] features: [dynamic-import] --- 1357
eval-export-dflt-expr-gen-anon.js --- description: > Default AssignmentExpression (which can be recognized as an "anonymous" generator function declaration) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default AssignmentExpression; [...] 3. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). 4. Let env be the running execution context's LexicalEnvironment. 5. Perform ? InitializeBoundName("*default*", value, env). [...] flags: [async, module] features: [dynamic-import, generators] --- 1404
eval-export-dflt-expr-gen-named.js --- description: > Default AssignmentExpression (which can be recognized as a "named" generator function declaration) is correctly initialized upon evaluation esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3.11 Runtime Semantics: Evaluation ExportDeclaration : export default AssignmentExpression; [...] 3. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then a. Let hasNameProperty be ? HasOwnProperty(value, "name"). b. If hasNameProperty is false, perform SetFunctionName(value, "default"). 4. Let env be the running execution context's LexicalEnvironment. 5. Perform ? InitializeBoundName("*default*", value, env). [...] flags: [async, module] features: [dynamic-import, generators] --- 1396
eval-export-dflt-expr-in.js --- description: > The `in` operator may occur within an exported AssignmentExpression esid: sec-moduleevaluation info: | [...] 16. Let result be the result of evaluating module.[[ECMAScriptCode]]. [...] 15.2.3 Exports Syntax ExportDeclaration : export default [lookahead ∉ { function, class }] AssignmentExpression[In]; flags: [async, module] features: [dynamic-import] --- 824
eval-rqstd-once.js --- description: Requested modules are evaluated exactly once esid: sec-moduleevaluation info: | [...] 4. If module.[[Evaluated]] is true, return undefined. 5. Set module.[[Evaluated]] to true. 6. For each String required that is an element of module.[[RequestedModules]] do, a. Let requiredModule be ? HostResolveImportedModule(module, required). b. Perform ? requiredModule.ModuleEvaluation(). [...] includes: [fnGlobalObject.js] flags: [async] features: [dynamic-import] --- 1045
eval-rqstd-once_FIXTURE.js 440
eval-self-once-module.js --- description: Module is evaluated exactly once esid: sec-moduleevaluation info: | [...] 4. If module.[[Evaluated]] is true, return undefined. 5. Set module.[[Evaluated]] to true. 6. For each String required that is an element of module.[[RequestedModules]] do, a. Let requiredModule be ? HostResolveImportedModule(module, required). b. Perform ? requiredModule.ModuleEvaluation(). [...] This test is meant to be flagged as module code, it should not initially run as script code or the result will not be the same. includes: [fnGlobalObject.js] flags: [async, module] features: [dynamic-import] --- 1297
eval-self-once-script.js --- description: Script is evaluated exactly once after loaded by import esid: sec-hostimportmoduledynamically info: | Success path The completion value of any subsequent call to HostResolveImportedModule after FinishDynamicImport has completed, given the arguments referencingScriptOrModule and specifier, must be a module which has already been evaluated, i.e. whose Evaluate concrete method has already been called and returned a normal completion. This test is meant to __not__ be flagged as module code, it should not initially run as module code or the result will not be the same. includes: [fnGlobalObject.js] flags: [async] features: [dynamic-import] --- 1398
for-await-resolution-and-error-a_FIXTURE.js 183
for-await-resolution-and-error-agen-yield.js --- description: > Resolve multiple imports through a for await loop in an async generator yielding imports esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. d. Let namespace be GetModuleNamespace(moduleRecord). ... f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). flags: [async] features: [dynamic-import, async-iteration] includes: [asyncHelpers.js] --- 2203
for-await-resolution-and-error-agen.js --- description: > Resolve multiple imports through a for await loop in an async generator esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. d. Let namespace be GetModuleNamespace(moduleRecord). ... f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). flags: [async] features: [dynamic-import, async-iteration] includes: [asyncHelpers.js] --- 1620
for-await-resolution-and-error-b_FIXTURE.js 183
for-await-resolution-and-error-poisoned_FIXTURE.js 177
for-await-resolution-and-error.js --- description: > Resolve multiple imports through a for await loop esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. d. Let namespace be GetModuleNamespace(moduleRecord). ... f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). flags: [async] features: [dynamic-import] includes: [compareArray.js] --- 1508
import-assertions
import-attributes
imported-self-update.js --- description: > Imported self bindings should update the references esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. d. Let namespace be GetModuleNamespace(moduleRecord). ... f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). flags: [async, module] features: [dynamic-import] --- 1448
indirect-resolution-1_FIXTURE.js 225
indirect-resolution-2_FIXTURE.js 183
indirect-resolution.js --- description: > Dynamic Import should resolve another import call esid: sec-import-call-runtime-semantics-evaluation info: | Runtime Semantics: Evaluation ImportCall : import ( AssignmentExpression ) 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). 2. Let argRef be the result of evaluating AssignmentExpression. 3. Let specifier be ? GetValue(argRef). 4. Let promiseCapability be ! NewPromiseCapability(%Promise%). 5. Let specifierString be ToString(specifier). 6. IfAbruptRejectPromise(specifierString, promiseCapability). 7. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). 8. Return promiseCapability.[[Promise]]. flags: [async] features: [dynamic-import] --- 1424
module-code_FIXTURE.js 422
namespace
returns-promise.js --- description: > ImportCall returns a promise esid: sec-import-call-runtime-semantics-evaluation info: | Import Calls Runtime Semantics: Evaluation ImportCall : import(AssignmentExpression) 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). 2. Let argRef be the result of evaluating AssignmentExpression. 3. Let specifier be ? GetValue(argRef). 4. Let promiseCapability be ! NewPromiseCapability(%Promise%). 5. Let specifierString be ToString(specifier). 6. IfAbruptRejectPromise(specifierString, promiseCapability). 7. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). 8. Return promiseCapability.[[Promise]]. features: [dynamic-import] includes: [fnGlobalObject.js] --- 2014
reuse-namespace-object-from-import.js --- description: > Reuse the resolved namespace object already imported from a static import esid: sec-import-call-runtime-semantics-evaluation info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 1. If completion is an abrupt completion, ... 2. Otherwise, ... d. Let namespace be GetModuleNamespace(moduleRecord). e. If namespace is an abrupt completion, perform ! Call(promiseCapability.[[Reject]], undefined, « namespace.[[Value]] »). f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). Runtime Semantics: GetModuleNamespace ( module ) ... 3. Let namespace be module.[[Namespace]]. 4. If namespace is undefined, then ... d. Set namespace to ModuleNamespaceCreate(module, unambiguousNames). 5. Return namespace. features: [dynamic-import] flags: [async, module] --- 1589
reuse-namespace-object-from-script.js --- description: > Reuse the resolved namespace object from a script code. esid: sec-import-call-runtime-semantics-evaluation info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 1. If completion is an abrupt completion, ... 2. Otherwise, ... d. Let namespace be GetModuleNamespace(moduleRecord). e. If namespace is an abrupt completion, perform ! Call(promiseCapability.[[Reject]], undefined, « namespace.[[Value]] »). f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). Runtime Semantics: GetModuleNamespace ( module ) ... 3. Let namespace be module.[[Namespace]]. 4. If namespace is undefined, then ... d. Set namespace to ModuleNamespaceCreate(module, unambiguousNames). 5. Return namespace. features: [dynamic-import] flags: [async] --- 1519
reuse-namespace-object.js --- description: > Reuse the resolved namespace object instead of creating a new one esid: sec-import-call-runtime-semantics-evaluation info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 1. If completion is an abrupt completion, ... 2. Otherwise, ... d. Let namespace be GetModuleNamespace(moduleRecord). e. If namespace is an abrupt completion, perform ! Call(promiseCapability.[[Reject]], undefined, « namespace.[[Value]] »). f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). Runtime Semantics: GetModuleNamespace ( module ) ... 3. Let namespace be module.[[Namespace]]. 4. If namespace is undefined, then ... d. Set namespace to ModuleNamespaceCreate(module, unambiguousNames). 5. Return namespace. features: [dynamic-import] flags: [async] --- 1385
shell.js --- description: | A collection of assertion and wrapper functions for testing asynchronous built-ins. defines: [asyncTest] --- 3789
syntax
update-to-dynamic-import-other_FIXTURE.js 257
update-to-dynamic-import.js --- description: > Resolve imports after a binding update esid: sec-finishdynamicimport info: | Runtime Semantics: FinishDynamicImport ( referencingScriptOrModule, specifier, promiseCapability, completion ) 2. Otherwise, a. Assert: completion is a normal completion and completion.[[Value]] is undefined. b. Let moduleRecord be ! HostResolveImportedModule(referencingScriptOrModule, specifier). c. Assert: Evaluate has already been invoked on moduleRecord and successfully completed. d. Let namespace be GetModuleNamespace(moduleRecord). ... f. Otherwise, perform ! Call(promiseCapability.[[Resolve]], undefined, « namespace.[[Value]] »). flags: [async] features: [dynamic-import] includes: [asyncHelpers.js] --- 1311
update-to-dynamic-import_FIXTURE.js 347
usage
usage-from-eval.js --- description: > ImportCall can be used from eval code esid: sec-import-call-runtime-semantics-evaluation info: | Import Calls Runtime Semantics: Evaluation ImportCall : import(AssignmentExpression) 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). 2. Let argRef be the result of evaluating AssignmentExpression. 3. Let specifier be ? GetValue(argRef). 4. Let promiseCapability be ! NewPromiseCapability(%Promise%). 5. Let specifierString be ToString(specifier). 6. IfAbruptRejectPromise(specifierString, promiseCapability). 7. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). 8. Return promiseCapability.[[Promise]]. features: [dynamic-import] flags: [async] --- 1405