nested-async-arrow-function-await-eval-rqstd-abrupt-urierror.js (1550B)
1 // |reftest| async 2 // This file was procedurally generated from the following sources: 3 // - src/dynamic-import/eval-rqstd-abrupt-urierror.case 4 // - src/dynamic-import/catch/nested-async-arrow-fn-await.template 5 /*--- 6 description: Abrupt completion during module evaluation precludes further evaluation (nested in async arrow function, awaited) 7 esid: sec-import-call-runtime-semantics-evaluation 8 features: [dynamic-import] 9 flags: [generated, async] 10 info: | 11 ImportCall : 12 import( AssignmentExpression ) 13 14 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). 15 2. Assert: referencingScriptOrModule is a Script Record or Module Record (i.e. is not null). 16 3. Let argRef be the result of evaluating AssignmentExpression. 17 4. Let specifier be ? GetValue(argRef). 18 5. Let promiseCapability be ! NewPromiseCapability(%Promise%). 19 6. Let specifierString be ToString(specifier). 20 7. IfAbruptRejectPromise(specifierString, promiseCapability). 21 8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). 22 9. Return promiseCapability.[[Promise]]. 23 24 25 [...] 26 6. For each String required that is an element of 27 module.[[RequestedModules]] do, 28 a. Let requiredModule be ? HostResolveImportedModule(module, required). 29 b. Perform ? requiredModule.ModuleEvaluation(). 30 31 ---*/ 32 33 const f = async () => { 34 await import('./eval-rqstd-abrupt-err-uri_FIXTURE.js'); 35 } 36 37 f().catch(error => { 38 39 assert.sameValue(error.name, 'URIError'); 40 41 }).then($DONE, $DONE);