mirror of https://github.com/tc39/test262.git
Add more coverage to dynamic import
- Add cases for invalid syntax - Add valid cases - nested imports - add non existent file case - Fix cases and templates to use a full importcall expr token - add case for call expression position - remove unnecessary module flag from templates - Add templates for nested with
This commit is contained in:
parent
842ce97484
commit
8e28caa214
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
let f = () => {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
async function f() {
|
||||
await import(/*{ params }*/).catch(error => {
|
||||
await /*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
async function f() {
|
||||
return await import(/*{ params }*/).catch(error => {
|
||||
return await /*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
async function f() {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
label: {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
{
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
do {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ flags: [async]
|
|||
if (false) {
|
||||
|
||||
} else {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
function f() {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
if (true) {
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ flags: [async]
|
|||
let x = 0;
|
||||
while (!x) {
|
||||
x++;
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
path: language/module-code/dynamic-import/catch/nested-with-import-catch-
|
||||
name: nested with
|
||||
esid: sec-import-call-runtime-semantics-evaluation
|
||||
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]].
|
||||
features: [dynamic-import]
|
||||
flags: [async, noStrict]
|
||||
---*/
|
||||
|
||||
with ({}) {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
}).then($DONE, $DONE);
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@ features: [dynamic-import]
|
|||
flags: [async]
|
||||
---*/
|
||||
|
||||
import(/*{ params }*/).catch(error => {
|
||||
/*{ import }*/.catch(error => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ features: [dynamic-import]
|
|||
flags: [async]
|
||||
---*/
|
||||
|
||||
let f = () => import(/*{ params }*/).then(imported => {
|
||||
let f = () => /*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
let f = () => {
|
||||
return import(/*{ params }*/).then(imported => {
|
||||
return /*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
async function f() {
|
||||
await import(/*{ params }*/).then(imported => {
|
||||
await /*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
async function f() {
|
||||
return await import(/*{ params }*/);
|
||||
return await /*{ import }*/;
|
||||
}
|
||||
|
||||
f().then(imported => {
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
async function f() {
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
label: {
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
{
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
do {
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ flags: [async]
|
|||
if (false) {
|
||||
|
||||
} else {
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
function f() {
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ features: [dynamic-import]
|
|||
flags: [async]
|
||||
---*/
|
||||
|
||||
if (true) import(/*{ params }*/).then(imported => {
|
||||
if (true) /*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ flags: [async]
|
|||
---*/
|
||||
|
||||
if (true) {
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ flags: [async]
|
|||
let x = 0;
|
||||
while (!x) {
|
||||
x++;
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
path: language/module-code/dynamic-import/usage/nested-with-import-then-
|
||||
name: nested with
|
||||
esid: sec-import-call-runtime-semantics-evaluation
|
||||
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]].
|
||||
features: [dynamic-import]
|
||||
flags: [async, noStrict]
|
||||
---*/
|
||||
|
||||
with ({}) {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
}).then($DONE, $DONE).catch($DONE);
|
||||
}
|
|
@ -24,7 +24,7 @@ features: [dynamic-import]
|
|||
flags: [async]
|
||||
---*/
|
||||
|
||||
import(/*{ params }*/).then(imported => {
|
||||
/*{ import }*/.then(imported => {
|
||||
|
||||
/*{ body }*/
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ info: |
|
|||
template: default
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./eval-gtbndng-indirect-update-dflt_FIXTURE.js'
|
||||
//- import
|
||||
import('./eval-gtbndng-indirect-update-dflt_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(imported.default(), 1);
|
||||
assert.sameValue(imported.default, 2);
|
||||
|
|
|
@ -21,8 +21,8 @@ includes: [fnGlobalObject.js]
|
|||
template: default
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./eval-gtbndng-indirect-update_FIXTURE.js'
|
||||
//- import
|
||||
import('./eval-gtbndng-indirect-update_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(imported.x, 1);
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ info: |
|
|||
template: catch
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./eval-rqstd-abrupt-err-type_FIXTURE.js'
|
||||
//- import
|
||||
import('./eval-rqstd-abrupt-err-type_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(error.name, 'TypeError');
|
||||
|
|
|
@ -14,7 +14,7 @@ info: |
|
|||
template: catch
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./eval-rqstd-abrupt-err-uri_FIXTURE.js'
|
||||
//- import
|
||||
import('./eval-rqstd-abrupt-err-uri_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(error.name, 'URIError');
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
desc: >
|
||||
Non existent file can't resolve to a Script or Module Record
|
||||
esid: sec-hostresolveimportedmodule
|
||||
info: |
|
||||
If a Module Record corresponding to the pair referencingModulereferencingScriptOrModule,
|
||||
specifier does not exist or cannot be created, an exception must be thrown.
|
||||
template: catch
|
||||
---*/
|
||||
|
||||
//- import
|
||||
import('./THIS_FILE_DOES_NOT_EXIST.js')
|
||||
//- body
|
||||
assert.notSameValue(typeof error, 'undefined');
|
|
@ -34,7 +34,7 @@ info: |
|
|||
template: catch
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./instn-iee-err-ambiguous-export_FIXTURE.js'
|
||||
//- import
|
||||
import('./instn-iee-err-ambiguous-export_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(error.name, 'SyntaxError');
|
||||
|
|
|
@ -23,7 +23,7 @@ info: |
|
|||
template: catch
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./instn-iee-err-circular-1_FIXTURE.js'
|
||||
//- import
|
||||
import('./instn-iee-err-circular-1_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(error.name, 'SyntaxError');
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
desc: ImportCall is a CallExpression, it can be followed by square brackets
|
||||
template: default
|
||||
---*/
|
||||
|
||||
//- import
|
||||
import('./dynamic-import-module_FIXTURE.js')['then'](x => x)
|
||||
//- body
|
||||
assert.sameValue(imported.x, 1);
|
|
@ -0,0 +1,9 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
desc: ImportCall is a CallExpression can be nested in other import calls
|
||||
template: syntax/valid
|
||||
---*/
|
||||
|
||||
//- import
|
||||
import(import(import('./empty_FIXTURE.js')))
|
|
@ -0,0 +1,16 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
desc: ImportCall is not extensible - no arguments list
|
||||
template: syntax/invalid
|
||||
info: |
|
||||
ImportCall :
|
||||
import( AssignmentExpression[+In, ?Yield] )
|
||||
|
||||
Forbidden Extensions
|
||||
|
||||
- ImportCall must not be extended.
|
||||
---*/
|
||||
|
||||
//- import
|
||||
import('', '')
|
|
@ -0,0 +1,16 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
desc: ImportCall is not extensible - trailing comma
|
||||
template: syntax/invalid
|
||||
info: |
|
||||
ImportCall :
|
||||
import( AssignmentExpression[+In, ?Yield] )
|
||||
|
||||
Forbidden Extensions
|
||||
|
||||
- ImportCall must not be extended.
|
||||
---*/
|
||||
|
||||
//- import
|
||||
import('',)
|
|
@ -6,7 +6,7 @@ desc: Dynamic import() returns a Promise object.
|
|||
template: default
|
||||
---*/
|
||||
|
||||
//- params
|
||||
'./dynamic-import-module_FIXTURE.js'
|
||||
//- import
|
||||
import('./dynamic-import-module_FIXTURE.js')
|
||||
//- body
|
||||
assert.sameValue(imported.x, 1);
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
// Copyright (C) 2018 Leo Balter. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
desc: import() can be used in script code
|
||||
template: syntax/valid
|
||||
---*/
|
||||
|
||||
//- setup
|
||||
// It is a Syntax Error if ModuleItemList Contains NewTarget
|
||||
// This is still valid in script code
|
||||
new.target;
|
||||
|
||||
//- import
|
||||
import('./script-code-valid.js')
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
// Copyright (C) 2018 Rick Waldron. All rights reserved.
|
||||
// Copyright (C) 2018 the V8 project authors. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
path: language/module-code/dynamic-import/syntax/invalid/nested-with-
|
||||
name: nested with syntax
|
||||
esid: sec-import-call-runtime-semantics-evaluation
|
||||
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]].
|
||||
features: [dynamic-import]
|
||||
flags: [noStrict]
|
||||
negative:
|
||||
phase: parse
|
||||
type: SyntaxError
|
||||
---*/
|
||||
|
||||
throw "Test262: This statement should not be evaluated.";
|
||||
|
||||
with ({}) {
|
||||
/*{ import }*/;
|
||||
}
|
|
@ -8,8 +8,6 @@ esid: sec-import-call-runtime-semantics-evaluation
|
|||
info: |
|
||||
ImportCall :
|
||||
import( AssignmentExpression )
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
negative:
|
||||
phase: parse
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -18,8 +18,6 @@ info: |
|
|||
7. IfAbruptRejectPromise(specifierString, promiseCapability).
|
||||
8. Perform ! HostImportModuleDynamically(referencingScriptOrModule, specifierString, promiseCapability).
|
||||
9. Return promiseCapability.[[Promise]].
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright (C) 2018 Rick Waldron. All rights reserved.
|
||||
// Copyright (C) 2018 the V8 project authors. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
path: language/module-code/dynamic-import/syntax/valid/nested-with-
|
||||
name: nested with syntax
|
||||
esid: sec-import-call-runtime-semantics-evaluation
|
||||
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]].
|
||||
features: [dynamic-import]
|
||||
flags: [noStrict]
|
||||
---*/
|
||||
|
||||
with ({}) {
|
||||
/*{ import }*/;
|
||||
}
|
|
@ -8,8 +8,6 @@ esid: sec-import-call-runtime-semantics-evaluation
|
|||
info: |
|
||||
ImportCall :
|
||||
import( AssignmentExpression )
|
||||
|
||||
flags: [module]
|
||||
features: [dynamic-import]
|
||||
---*/
|
||||
|
||||
|
|
Loading…
Reference in New Issue