diff options
Diffstat (limited to 'js/src/tests/test262/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js b/js/src/tests/test262/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js new file mode 100644 index 0000000000..a4f2124c39 --- /dev/null +++ b/js/src/tests/test262/language/expressions/dynamic-import/catch/nested-async-arrow-function-return-await-instn-iee-err-circular.js @@ -0,0 +1,49 @@ +// |reftest| async +// This file was procedurally generated from the following sources: +// - src/dynamic-import/instn-iee-err-circular.case +// - src/dynamic-import/catch/nested-async-arrow-fn-return-await.template +/*--- +description: IndirectExportEntries validation - circular imported bindings (nested in async arrow function, returned) +esid: sec-import-call-runtime-semantics-evaluation +features: [dynamic-import] +flags: [generated, async] +info: | + ImportCall : + import( AssignmentExpression ) + + 1. Let referencingScriptOrModule be ! GetActiveScriptOrModule(). + 2. Assert: referencingScriptOrModule is a Script Record or Module Record (i.e. is not null). + 3. Let argRef be the result of evaluating AssignmentExpression. + 4. Let specifier be ? GetValue(argRef). + 5. Let promiseCapability be ! NewPromiseCapability(%Promise%). + 6. Let specifierString be ToString(specifier). + 7. IfAbruptRejectPromise(specifierString, promiseCapability). + 8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability). + 9. Return promiseCapability.[[Promise]]. + + + [...] + 9. For each ExportEntry Record e in module.[[IndirectExportEntries]], do + a. Let resolution be ? module.ResolveExport(e.[[ExportName]], « », « »). + b. If resolution is null or resolution is "ambiguous", throw a + SyntaxError exception. + [...] + + 15.2.1.16.3 ResolveExport + + [...] + 2. For each Record {[[Module]], [[ExportName]]} r in resolveSet, do: + a. If module and r.[[Module]] are the same Module Record and + SameValue(exportName, r.[[ExportName]]) is true, then + i. Assert: this is a circular import request. + ii. Return null. + +---*/ + +const f = async () => await import('./instn-iee-err-circular-1_FIXTURE.js'); + +f().catch(error => { + + assert.sameValue(error.name, 'SyntaxError'); + +}).then($DONE, $DONE); |