diff --git a/tests/cases/conformance/es2018/dynamicImport/importCallExpressionAllowInScriptContext1.ts b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionAllowInScriptContext1.ts new file mode 100644 index 00000000000..166513321a3 --- /dev/null +++ b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionAllowInScriptContext1.ts @@ -0,0 +1,10 @@ +// @module: commonjs +// @target: es6 +// @noImplicitAny: false + +// @filename: 0.ts +export function foo() { return "foo"; } + +// @filename: 1.ts +var p1 = import("./0"); +function arguments() { } // this is allow as the file doesn't have implicit "use strict" \ No newline at end of file diff --git a/tests/cases/conformance/es2018/dynamicImport/importCallExpressionAllowInScriptContext2.ts b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionAllowInScriptContext2.ts new file mode 100644 index 00000000000..754f7e865bb --- /dev/null +++ b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionAllowInScriptContext2.ts @@ -0,0 +1,11 @@ +// @module: commonjs +// @target: es6 +// @noImplicitAny: false + +// @filename: 0.ts +export function foo() { return "foo"; } + +// @filename: 1.ts +"use strict" +var p1 = import("./0"); +function arguments() { } \ No newline at end of file diff --git a/tests/cases/conformance/es2018/dynamicImport/importCallExpressionDeclarationEmit1.ts b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionDeclarationEmit1.ts new file mode 100644 index 00000000000..fb299951148 --- /dev/null +++ b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionDeclarationEmit1.ts @@ -0,0 +1,19 @@ +// @module: commonjs +// @target: es6 +// @noImplicitAny: false +// @declaration: true + +declare function getSpecifier(): string; +declare var whatToLoad: boolean; +declare const directory: string; +declare const moduleFile: number; + +import(getSpecifier()); + +var p0 = import(`${directory}\${moduleFile}`); +var p1 = import(getSpecifier()); +const p2 = import(whatToLoad ? getSpecifier() : "defaulPath") + +function returnDynamicLoad(path: string) { + return import(path); +} \ No newline at end of file diff --git a/tests/cases/conformance/es2018/dynamicImport/importCallExpressionDeclarationEmit2.ts b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionDeclarationEmit2.ts new file mode 100644 index 00000000000..d1ee592a98a --- /dev/null +++ b/tests/cases/conformance/es2018/dynamicImport/importCallExpressionDeclarationEmit2.ts @@ -0,0 +1,10 @@ +// @module: es2018 +// @target: esnext +// @declaration: true + +// @filename: 0.ts +export function foo() { return "foo"; } + +// @filename: 1.ts +import("./0"); +var p1 = import("./0"); \ No newline at end of file