diff options
author | Satya Rohith <me@satyarohith.com> | 2024-09-21 02:08:32 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-20 22:38:32 +0200 |
commit | 94bdebe3998d503c625dbf093c40d7cb9d694d7c (patch) | |
tree | 4a09558a0ada78df662a9f7a384fb0b7372662e1 /tests/specs | |
parent | 3e053f8f06cfd83bd3f162ee68a0eca849e50d2a (diff) |
refactor(tests): migrate npm itests to specs (#25764)
Towards https://github.com/denoland/deno/issues/25241
Diffstat (limited to 'tests/specs')
22 files changed, 242 insertions, 0 deletions
diff --git a/tests/specs/npm/local_dir_resolves_symlinks/__test__.jsonc b/tests/specs/npm/local_dir_resolves_symlinks/__test__.jsonc new file mode 100644 index 000000000..a846fdcb4 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks/__test__.jsonc @@ -0,0 +1,14 @@ +{ + "tempDir": true, + "steps": [ + { + "args": "install", + "output": "install.out" + }, + { + "args": "run -A index.js", + "output": "index.out", + "exitCode": 0 + } + ] +} diff --git a/tests/specs/npm/local_dir_resolves_symlinks/index.js b/tests/specs/npm/local_dir_resolves_symlinks/index.js new file mode 100644 index 000000000..72d8913f5 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks/index.js @@ -0,0 +1,3 @@ +import * as d from "define-properties"; + +console.log(typeof d.default === "function", "it works"); diff --git a/tests/specs/npm/local_dir_resolves_symlinks/index.out b/tests/specs/npm/local_dir_resolves_symlinks/index.out new file mode 100644 index 000000000..7550ee132 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks/index.out @@ -0,0 +1 @@ +true it works diff --git a/tests/specs/npm/local_dir_resolves_symlinks/install.out b/tests/specs/npm/local_dir_resolves_symlinks/install.out new file mode 100644 index 000000000..0c15b2a0e --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks/install.out @@ -0,0 +1,23 @@ +[UNORDERED_START] +Download http://localhost:4260/define-properties +Download http://localhost:4260/has-property-descriptors +Download http://localhost:4260/object-keys +Download http://localhost:4260/get-intrinsic +Download http://localhost:4260/function-bind +Download http://localhost:4260/has +Download http://localhost:4260/has-symbols +Download http://localhost:4260/define-properties/define-properties-1.2.0.tgz +Download http://localhost:4260/has-property-descriptors/has-property-descriptors-1.0.0.tgz +Download http://localhost:4260/object-keys/object-keys-1.1.1.tgz +Download http://localhost:4260/get-intrinsic/get-intrinsic-1.2.0.tgz +Download http://localhost:4260/has-symbols/has-symbols-1.0.3.tgz +Download http://localhost:4260/has/has-1.0.3.tgz +Download http://localhost:4260/function-bind/function-bind-1.1.1.tgz +Initialize has@1.0.3 +Initialize define-properties@1.2.0 +Initialize has-property-descriptors@1.0.0 +Initialize object-keys@1.1.1 +Initialize get-intrinsic@1.2.0 +Initialize function-bind@1.1.1 +Initialize has-symbols@1.0.3 +[UNORDERED_END] diff --git a/tests/specs/npm/local_dir_resolves_symlinks/package.json b/tests/specs/npm/local_dir_resolves_symlinks/package.json new file mode 100644 index 000000000..4c974022e --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks/package.json @@ -0,0 +1,7 @@ +{ + "name": "foo", + "type": "module", + "dependencies": { + "define-properties": "^1.2.0" + } +} diff --git a/tests/specs/npm/local_dir_resolves_symlinks_auto/__test__.jsonc b/tests/specs/npm/local_dir_resolves_symlinks_auto/__test__.jsonc new file mode 100644 index 000000000..78cd876f2 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks_auto/__test__.jsonc @@ -0,0 +1,10 @@ +{ + "tempDir": true, + "steps": [ + { + "args": "run -A index.js", + "output": "index.out", + "exitCode": 0 + } + ] +} diff --git a/tests/specs/npm/local_dir_resolves_symlinks_auto/deno.json b/tests/specs/npm/local_dir_resolves_symlinks_auto/deno.json new file mode 100644 index 000000000..fbd70ec48 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks_auto/deno.json @@ -0,0 +1,3 @@ +{ + "nodeModulesDir": "auto" +} diff --git a/tests/specs/npm/local_dir_resolves_symlinks_auto/index.js b/tests/specs/npm/local_dir_resolves_symlinks_auto/index.js new file mode 100644 index 000000000..72d8913f5 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks_auto/index.js @@ -0,0 +1,3 @@ +import * as d from "define-properties"; + +console.log(typeof d.default === "function", "it works"); diff --git a/tests/specs/npm/local_dir_resolves_symlinks_auto/index.out b/tests/specs/npm/local_dir_resolves_symlinks_auto/index.out new file mode 100644 index 000000000..0cb3a1593 --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks_auto/index.out @@ -0,0 +1,24 @@ +[UNORDERED_START] +Download http://localhost:4260/define-properties +Download http://localhost:4260/has-property-descriptors +Download http://localhost:4260/object-keys +Download http://localhost:4260/get-intrinsic +Download http://localhost:4260/function-bind +Download http://localhost:4260/has +Download http://localhost:4260/has-symbols +Download http://localhost:4260/define-properties/define-properties-1.2.0.tgz +Download http://localhost:4260/has-property-descriptors/has-property-descriptors-1.0.0.tgz +Download http://localhost:4260/object-keys/object-keys-1.1.1.tgz +Download http://localhost:4260/get-intrinsic/get-intrinsic-1.2.0.tgz +Download http://localhost:4260/has-symbols/has-symbols-1.0.3.tgz +Download http://localhost:4260/has/has-1.0.3.tgz +Download http://localhost:4260/function-bind/function-bind-1.1.1.tgz +Initialize has@1.0.3 +Initialize define-properties@1.2.0 +Initialize has-property-descriptors@1.0.0 +Initialize object-keys@1.1.1 +Initialize get-intrinsic@1.2.0 +Initialize function-bind@1.1.1 +Initialize has-symbols@1.0.3 +[UNORDERED_END] +true it works diff --git a/tests/specs/npm/local_dir_resolves_symlinks_auto/package.json b/tests/specs/npm/local_dir_resolves_symlinks_auto/package.json new file mode 100644 index 000000000..4c974022e --- /dev/null +++ b/tests/specs/npm/local_dir_resolves_symlinks_auto/package.json @@ -0,0 +1,7 @@ +{ + "name": "foo", + "type": "module", + "dependencies": { + "define-properties": "^1.2.0" + } +} diff --git a/tests/specs/npm/node_modules_import/__test__.jsonc b/tests/specs/npm/node_modules_import/__test__.jsonc new file mode 100644 index 000000000..61a1706a8 --- /dev/null +++ b/tests/specs/npm/node_modules_import/__test__.jsonc @@ -0,0 +1,31 @@ +{ + "tempDir": true, + "tests": { + "node_modules_import_run": { + "steps": [ + { + "args": "install", + "output": "install.out" + }, + { + "args": "run --quiet main.ts", + "output": "main.out", + "exitCode": 0 + } + ] + }, + "node_modules_import_check": { + "steps": [ + { + "args": "install", + "output": "install.out" + }, + { + "args": "check --quiet main.ts", + "output": "main_check.out", + "exitCode": 1 + } + ] + } + } +} diff --git a/tests/specs/npm/node_modules_import/install.out b/tests/specs/npm/node_modules_import/install.out new file mode 100644 index 000000000..b8114c12a --- /dev/null +++ b/tests/specs/npm/node_modules_import/install.out @@ -0,0 +1,3 @@ +Download http://localhost:4260/@denotest/esm-basic +Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz +Initialize @denotest/esm-basic@1.0.0 diff --git a/tests/specs/npm/node_modules_import/main.out b/tests/specs/npm/node_modules_import/main.out new file mode 100644 index 000000000..083edaac2 --- /dev/null +++ b/tests/specs/npm/node_modules_import/main.out @@ -0,0 +1,3 @@ +2 +2 +2 diff --git a/tests/specs/npm/node_modules_import/main.ts b/tests/specs/npm/node_modules_import/main.ts new file mode 100644 index 000000000..848ca0f81 --- /dev/null +++ b/tests/specs/npm/node_modules_import/main.ts @@ -0,0 +1,16 @@ +import * as myImport1 from "@denotest/esm-basic"; +import * as myImport2 from "./node_modules/@denotest/esm-basic/main.mjs"; +import * as myImport3 from "@denotest/esm-basic/main.mjs"; + +myImport1.setValue(5); +myImport2.setValue(2); + +// these should all give type errors +const value1: string = myImport1.getValue(); +const value2: string = myImport2.getValue(); +const value3: string = myImport3.getValue(); + +// these should all be equal because it should be mutating the same module +console.log(value1); +console.log(value2); +console.log(value3); diff --git a/tests/specs/npm/node_modules_import/main_check.out b/tests/specs/npm/node_modules_import/main_check.out new file mode 100644 index 000000000..7fd7013fc --- /dev/null +++ b/tests/specs/npm/node_modules_import/main_check.out @@ -0,0 +1,16 @@ +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const value1: string = myImport1.getValue(); + ~~~~~~ + at file:///[WILDCARD]/main.ts:9:7 + +TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const value2: string = myImport2.getValue(); + ~~~~~~ + at file:///[WILDCARD]/main.ts:10:7 + +TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const value3: string = myImport3.getValue(); + ~~~~~~ + at file:///[WILDCARD]/main.ts:11:7 + +Found 3 errors. diff --git a/tests/specs/npm/node_modules_import/package.json b/tests/specs/npm/node_modules_import/package.json new file mode 100644 index 000000000..ed77298e0 --- /dev/null +++ b/tests/specs/npm/node_modules_import/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@denotest/esm-basic": "^1" + } +} diff --git a/tests/specs/npm/node_modules_import_auto/__test__.jsonc b/tests/specs/npm/node_modules_import_auto/__test__.jsonc new file mode 100644 index 000000000..4f18ebe60 --- /dev/null +++ b/tests/specs/npm/node_modules_import_auto/__test__.jsonc @@ -0,0 +1,23 @@ +{ + "tempDir": true, + "tests": { + "node_modules_import_run": { + "steps": [ + { + "args": "run main.ts", + "output": "main.out", + "exitCode": 0 + } + ] + }, + "node_modules_import_check": { + "steps": [ + { + "args": "check main.ts", + "output": "main_check.out", + "exitCode": 1 + } + ] + } + } +} diff --git a/tests/specs/npm/node_modules_import_auto/deno.json b/tests/specs/npm/node_modules_import_auto/deno.json new file mode 100644 index 000000000..fbd70ec48 --- /dev/null +++ b/tests/specs/npm/node_modules_import_auto/deno.json @@ -0,0 +1,3 @@ +{ + "nodeModulesDir": "auto" +} diff --git a/tests/specs/npm/node_modules_import_auto/main.out b/tests/specs/npm/node_modules_import_auto/main.out new file mode 100644 index 000000000..8fda5cda1 --- /dev/null +++ b/tests/specs/npm/node_modules_import_auto/main.out @@ -0,0 +1,6 @@ +Download http://localhost:4260/@denotest/esm-basic +Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz +Initialize @denotest/esm-basic@1.0.0 +2 +2 +2 diff --git a/tests/specs/npm/node_modules_import_auto/main.ts b/tests/specs/npm/node_modules_import_auto/main.ts new file mode 100644 index 000000000..848ca0f81 --- /dev/null +++ b/tests/specs/npm/node_modules_import_auto/main.ts @@ -0,0 +1,16 @@ +import * as myImport1 from "@denotest/esm-basic"; +import * as myImport2 from "./node_modules/@denotest/esm-basic/main.mjs"; +import * as myImport3 from "@denotest/esm-basic/main.mjs"; + +myImport1.setValue(5); +myImport2.setValue(2); + +// these should all give type errors +const value1: string = myImport1.getValue(); +const value2: string = myImport2.getValue(); +const value3: string = myImport3.getValue(); + +// these should all be equal because it should be mutating the same module +console.log(value1); +console.log(value2); +console.log(value3); diff --git a/tests/specs/npm/node_modules_import_auto/main_check.out b/tests/specs/npm/node_modules_import_auto/main_check.out new file mode 100644 index 000000000..24249f357 --- /dev/null +++ b/tests/specs/npm/node_modules_import_auto/main_check.out @@ -0,0 +1,20 @@ +Download http://localhost:4260/@denotest/esm-basic +Download http://localhost:4260/@denotest/esm-basic/1.0.0.tgz +Initialize @denotest/esm-basic@1.0.0 +Check file:///[WILDCARD]/main.ts +error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const value1: string = myImport1.getValue(); + ~~~~~~ + at file:///[WILDCARD]/main.ts:9:7 + +TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const value2: string = myImport2.getValue(); + ~~~~~~ + at file:///[WILDCARD]/main.ts:10:7 + +TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. +const value3: string = myImport3.getValue(); + ~~~~~~ + at file:///[WILDCARD]/main.ts:11:7 + +Found 3 errors. diff --git a/tests/specs/npm/node_modules_import_auto/package.json b/tests/specs/npm/node_modules_import_auto/package.json new file mode 100644 index 000000000..ed77298e0 --- /dev/null +++ b/tests/specs/npm/node_modules_import_auto/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@denotest/esm-basic": "^1" + } +} |