diff options
Diffstat (limited to 'cli/tests')
8 files changed, 118 insertions, 0 deletions
diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index 678734309..8bbb89d65 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -33,6 +33,13 @@ itest!(esm_module_deno_test { http_server: true, }); +itest!(esm_import_cjs_default { + args: "run --allow-read --allow-env --unstable --quiet npm/esm_import_cjs_default/main.js", + output: "npm/esm_import_cjs_default/main.out", + envs: env_vars(), + http_server: true, +}); + itest!(cjs_with_deps { args: "run --allow-read --allow-env --unstable npm/cjs_with_deps/main.js", output: "npm/cjs_with_deps/main.out", diff --git a/cli/tests/testdata/npm/esm_import_cjs_default/main.js b/cli/tests/testdata/npm/esm_import_cjs_default/main.js new file mode 100644 index 000000000..3be3cac5e --- /dev/null +++ b/cli/tests/testdata/npm/esm_import_cjs_default/main.js @@ -0,0 +1,22 @@ +import cjsDefault, { + MyClass as MyCjsClass, +} from "npm:@denotest/cjs-default-export"; +import * as cjsNamespace from "npm:@denotest/cjs-default-export"; +import esmDefault from "npm:@denotest/esm-import-cjs-default"; +import * as esmNamespace from "npm:@denotest/esm-import-cjs-default"; + +console.log("Deno esm importing node cjs"); +console.log("==========================="); +console.log(cjsDefault); +console.log(cjsNamespace); +console.log("==========================="); + +console.log("Deno esm importing node esm"); +console.log("==========================="); +console.log(esmDefault); +console.log(esmNamespace); +console.log("==========================="); + +console.log(cjsDefault()); +console.log(esmDefault()); +console.log(MyCjsClass.someStaticMethod()); diff --git a/cli/tests/testdata/npm/esm_import_cjs_default/main.out b/cli/tests/testdata/npm/esm_import_cjs_default/main.out new file mode 100644 index 000000000..3b2b3b006 --- /dev/null +++ b/cli/tests/testdata/npm/esm_import_cjs_default/main.out @@ -0,0 +1,35 @@ +Node esm importing node cjs +=========================== +{ default: [Function], named: [Function], MyClass: [Function: MyClass] } +{ default: [Function], named: [Function] } +Module { + MyClass: [Function: MyClass], + __esModule: true, + default: { default: [Function], named: [Function], MyClass: [Function: MyClass] }, + named: [Function] +} +Module { + __esModule: true, + default: { default: [Function], named: [Function] }, + named: [Function] +} +=========================== +static method +Deno esm importing node cjs +=========================== +[Function] +Module { + MyClass: [Function: MyClass], + __esModule: true, + default: [Function], + named: [Function] +} +=========================== +Deno esm importing node esm +=========================== +[Function: default] +Module { default: [Function: default] } +=========================== +1 +5 +static method diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-default-export/1.0.0/index.js b/cli/tests/testdata/npm/registry/@denotest/cjs-default-export/1.0.0/index.js new file mode 100644 index 000000000..ec4ece6b3 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-default-export/1.0.0/index.js @@ -0,0 +1,17 @@ +Object.defineProperty(module.exports, "__esModule", { + value: true +}); +module.exports["default"] = function() { + return 1; +}; +module.exports["named"] = function() { + return 2; +}; + +class MyClass { + static someStaticMethod() { + return "static method"; + } +} + +module.exports.MyClass = MyClass; diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-default-export/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/cjs-default-export/1.0.0/package.json new file mode 100644 index 000000000..4765d25d2 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-default-export/1.0.0/package.json @@ -0,0 +1,4 @@ +{ + "name": "@denotest/cjs-default-export", + "version": "1.0.0" +} diff --git a/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/index.mjs b/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/index.mjs new file mode 100644 index 000000000..11e545ae5 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/index.mjs @@ -0,0 +1,17 @@ +import defaultImport, { MyClass } from "@denotest/cjs-default-export"; +import * as namespaceImport from "@denotest/cjs-default-export"; +import localDefaultImport from "./local.cjs"; +import * as localNamespaceImport from "./local.cjs"; + +console.log("Node esm importing node cjs"); +console.log("==========================="); +console.log(defaultImport); +console.log(localDefaultImport); +console.log(namespaceImport); +console.log(localNamespaceImport); +console.log("==========================="); +console.log(MyClass.someStaticMethod()); + +export default function() { + return defaultImport.default() * 5; +} diff --git a/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/local.cjs b/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/local.cjs new file mode 100644 index 000000000..8d2772dc6 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/local.cjs @@ -0,0 +1,9 @@ +Object.defineProperty(module.exports, "__esModule", { + value: true +}); +module.exports["default"] = function() { + return 3; +}; +module.exports["named"] = function() { + return 4; +}; diff --git a/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/package.json new file mode 100644 index 000000000..184076799 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/esm-import-cjs-default/1.0.0/package.json @@ -0,0 +1,7 @@ +{ + "name": "@denotest/esm-import-cjs-default", + "version": "1.0.0", + "dependencies": { + "@denotest/cjs-default-export": "^1.0.0" + } +} |