diff options
Diffstat (limited to 'tests')
22 files changed, 80 insertions, 43 deletions
diff --git a/tests/integration/npm_tests.rs b/tests/integration/npm_tests.rs index dba519087..e721633a6 100644 --- a/tests/integration/npm_tests.rs +++ b/tests/integration/npm_tests.rs @@ -15,13 +15,6 @@ use util::TestContextBuilder; // NOTE: See how to make test npm packages at ./testdata/npm/README.md -itest!(esm_import_cjs_default { - args: "run --allow-read --allow-env --quiet --check=all npm/esm_import_cjs_default/main.ts", - output: "npm/esm_import_cjs_default/main.out", - envs: env_vars_for_npm_tests(), - http_server: true, -}); - itest!(cjs_with_deps { args: "run --allow-read --allow-env npm/cjs_with_deps/main.js", output: "npm/cjs_with_deps/main.out", @@ -324,14 +317,6 @@ itest!(check_local { exit_code: 1, }); -itest!(types_general { - args: "check --quiet npm/types/main.ts", - output: "npm/types/main.out", - envs: env_vars_for_npm_tests(), - http_server: true, - exit_code: 1, -}); - itest!(types_ambient_module { args: "check --quiet npm/types_ambient_module/main.ts", output: "npm/types_ambient_module/main.out", @@ -341,27 +326,11 @@ itest!(types_ambient_module { }); itest!(types_ambient_module_import_map { - args: "check --quiet --import-map=npm/types_ambient_module/import_map.json npm/types_ambient_module/main_import_map.ts", - output: "npm/types_ambient_module/main_import_map.out", - envs: env_vars_for_npm_tests(), - http_server: true, - exit_code: 1, - }); - -itest!(no_types_cjs { - args: "check --quiet npm/no_types_cjs/main.ts", - output_str: Some(""), - exit_code: 0, - envs: env_vars_for_npm_tests(), - http_server: true, -}); - -itest!(no_types_in_conditional_exports { - args: "run --check npm/no_types_in_conditional_exports/main.ts", - output: "npm/no_types_in_conditional_exports/main.out", - exit_code: 0, + args: "check --quiet --import-map=npm/types_ambient_module/import_map.json npm/types_ambient_module/main_import_map.ts", + output: "npm/types_ambient_module/main_import_map.out", envs: env_vars_for_npm_tests(), http_server: true, + exit_code: 1, }); itest!(types_entry_value_not_exists { diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/__test__.jsonc b/tests/specs/node/byonm_phantom_dep_res_failure/__test__.jsonc new file mode 100644 index 000000000..35e0a7686 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/__test__.jsonc @@ -0,0 +1,13 @@ +{ + "tests": { + "bad_import": { + "args": "run bad_import.ts", + "output": "bad_import.out", + "exitCode": 1 + }, + "good_import": { + "args": "run good_import.ts", + "output": "good_import.out" + } + } +} diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/bad_import.out b/tests/specs/node/byonm_phantom_dep_res_failure/bad_import.out new file mode 100644 index 000000000..a524720e3 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/bad_import.out @@ -0,0 +1,2 @@ +error: [ERR_MODULE_NOT_FOUND] Cannot find module 'file:///[WILDLINE]/node_modules/package/index.js' imported from 'file:///[WILDLINE]/bad_import.ts' + at file:///[WILDLINE]/bad_import.ts:1:16 diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/bad_import.ts b/tests/specs/node/byonm_phantom_dep_res_failure/bad_import.ts new file mode 100644 index 000000000..e20fe1fcf --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/bad_import.ts @@ -0,0 +1,3 @@ +import hi from "package"; + +hi(); diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/deno.json b/tests/specs/node/byonm_phantom_dep_res_failure/deno.json new file mode 100644 index 000000000..6134d86d1 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/deno.json @@ -0,0 +1,3 @@ +{ + "unstable": ["byonm"] +} diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/good_import.out b/tests/specs/node/byonm_phantom_dep_res_failure/good_import.out new file mode 100644 index 000000000..45b983be3 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/good_import.out @@ -0,0 +1 @@ +hi diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/good_import.ts b/tests/specs/node/byonm_phantom_dep_res_failure/good_import.ts new file mode 100644 index 000000000..2b17d3e33 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/good_import.ts @@ -0,0 +1,3 @@ +import hi from "package/main.js"; + +hi(); diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/node_modules/package/main.js b/tests/specs/node/byonm_phantom_dep_res_failure/node_modules/package/main.js new file mode 100644 index 000000000..bc76b8e9e --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/node_modules/package/main.js @@ -0,0 +1 @@ +module.exports = () => console.log('hi');
\ No newline at end of file diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/node_modules/package/package.json b/tests/specs/node/byonm_phantom_dep_res_failure/node_modules/package/package.json new file mode 100644 index 000000000..5723987e9 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/node_modules/package/package.json @@ -0,0 +1,4 @@ +{ + "name": "package", + "version": "1.0.0" +}
\ No newline at end of file diff --git a/tests/specs/node/byonm_phantom_dep_res_failure/package.json b/tests/specs/node/byonm_phantom_dep_res_failure/package.json new file mode 100644 index 000000000..2c63c0851 --- /dev/null +++ b/tests/specs/node/byonm_phantom_dep_res_failure/package.json @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/specs/npm/esm_import_cjs_default/__test__.jsonc b/tests/specs/npm/esm_import_cjs_default/__test__.jsonc new file mode 100644 index 000000000..b2a25914f --- /dev/null +++ b/tests/specs/npm/esm_import_cjs_default/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "run --allow-read --allow-env --check=all main.ts", + "output": "main.out" +} diff --git a/tests/testdata/npm/esm_import_cjs_default/main.out b/tests/specs/npm/esm_import_cjs_default/main.out index 0f6a61e34..ec7962e5a 100644 --- a/tests/testdata/npm/esm_import_cjs_default/main.out +++ b/tests/specs/npm/esm_import_cjs_default/main.out @@ -1,3 +1,10 @@ +[UNORDERED_START] +Download http://localhost:4260/@denotest/esm-import-cjs-default +Download http://localhost:4260/@denotest/cjs-default-export +Download http://localhost:4260/@denotest/cjs-default-export/1.0.0.tgz +Download http://localhost:4260/@denotest/esm-import-cjs-default/1.0.0.tgz +[UNORDERED_END] +Check file:///[WILDLINE]/main.ts Node esm importing node cjs =========================== { diff --git a/tests/testdata/npm/esm_import_cjs_default/main.ts b/tests/specs/npm/esm_import_cjs_default/main.ts index f9c3280e5..f9c3280e5 100644 --- a/tests/testdata/npm/esm_import_cjs_default/main.ts +++ b/tests/specs/npm/esm_import_cjs_default/main.ts diff --git a/tests/specs/npm/no_types_cjs/__test__.jsonc b/tests/specs/npm/no_types_cjs/__test__.jsonc new file mode 100644 index 000000000..de0339cfb --- /dev/null +++ b/tests/specs/npm/no_types_cjs/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "check main.ts", + "output": "main.out" +} diff --git a/tests/specs/npm/no_types_cjs/main.out b/tests/specs/npm/no_types_cjs/main.out new file mode 100644 index 000000000..4747a9a32 --- /dev/null +++ b/tests/specs/npm/no_types_cjs/main.out @@ -0,0 +1,3 @@ +Download http://localhost:4260/@denotest/no-types-cjs +Download http://localhost:4260/@denotest/no-types-cjs/1.0.0.tgz +Check file:///[WILDLINE]/no_types_cjs/main.ts diff --git a/tests/testdata/npm/no_types_cjs/main.ts b/tests/specs/npm/no_types_cjs/main.ts index 32458e839..32458e839 100644 --- a/tests/testdata/npm/no_types_cjs/main.ts +++ b/tests/specs/npm/no_types_cjs/main.ts diff --git a/tests/specs/npm/no_types_in_conditional_exports/__test__.jsonc b/tests/specs/npm/no_types_in_conditional_exports/__test__.jsonc new file mode 100644 index 000000000..8955fcda2 --- /dev/null +++ b/tests/specs/npm/no_types_in_conditional_exports/__test__.jsonc @@ -0,0 +1,4 @@ +{ + "args": "run --check main.ts", + "output": "main.out" +} diff --git a/tests/testdata/npm/no_types_in_conditional_exports/main.out b/tests/specs/npm/no_types_in_conditional_exports/main.out index 46c583234..46c583234 100644 --- a/tests/testdata/npm/no_types_in_conditional_exports/main.out +++ b/tests/specs/npm/no_types_in_conditional_exports/main.out diff --git a/tests/testdata/npm/no_types_in_conditional_exports/main.ts b/tests/specs/npm/no_types_in_conditional_exports/main.ts index 7ec2f18fd..7ec2f18fd 100644 --- a/tests/testdata/npm/no_types_in_conditional_exports/main.ts +++ b/tests/specs/npm/no_types_in_conditional_exports/main.ts diff --git a/tests/specs/npm/types_general/__test__.jsonc b/tests/specs/npm/types_general/__test__.jsonc new file mode 100644 index 000000000..a991c6eed --- /dev/null +++ b/tests/specs/npm/types_general/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "check main.ts", + "output": "main.out", + "exitCode": 1 +} diff --git a/tests/testdata/npm/types/main.out b/tests/specs/npm/types_general/main.out index de1f2c145..ffba4f84d 100644 --- a/tests/testdata/npm/types/main.out +++ b/tests/specs/npm/types_general/main.out @@ -1,7 +1,16 @@ +[UNORDERED_START] +Download http://localhost:4260/@denotest/types +Download http://localhost:4260/@denotest/types_imported +Download http://localhost:4260/@denotest/types-exports-subpaths +Download http://localhost:4260/@denotest/types_imported/1.0.0.tgz +Download http://localhost:4260/@denotest/types-exports-subpaths/1.0.0.tgz +Download http://localhost:4260/@denotest/types/1.0.0.tgz +[UNORDERED_END] +Check file:///[WILDLINE]/main.ts error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. bar: 1, ~~~ - at [WILDCARD]/npm/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] The expected type comes from property 'bar' which is declared here on type 'Foobar' bar: string; @@ -11,7 +20,7 @@ error: TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. prop: 1, ~~~~ - at [WILDCARD]/npm/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] The expected type comes from property 'prop' which is declared here on type 'SomeInterface' prop: string; @@ -21,7 +30,7 @@ TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. TS2322 [ERROR]: Type 'string' is not assignable to type 'number'. prop2: "asdf", ~~~~~ - at [WILDCARD]/npm/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] The expected type comes from property 'prop2' which is declared here on type 'SomeInterface' prop2: number; @@ -31,7 +40,7 @@ TS2322 [ERROR]: Type 'string' is not assignable to type 'number'. TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. fizz: 1, ~~~~ - at [WILDCARD]/npm/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] The expected type comes from property 'fizz' which is declared here on type 'Fizzbuzz' fizz: string; @@ -41,7 +50,7 @@ TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. buzz: 2, ~~~~ - at [WILDCARD]/npm/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] The expected type comes from property 'buzz' which is declared here on type 'Fizzbuzz' buzz: string; @@ -51,21 +60,21 @@ TS2322 [ERROR]: Type 'number' is not assignable to type 'string'. TS2322 [ERROR]: Type '5' is not assignable to type '"test1"'. const valueA: "test1" = getClient(); ~~~~~~ - at [WILDCARD]/npm/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] TS2322 [ERROR]: Type '"import"' is not assignable to type '"test2"'. const valueB: "test2" = entryImport(); ~~~~~~ - at [WILDCARD]/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] TS2322 [ERROR]: Type '12' is not assignable to type '"test3"'. const valueC: "test3" = entryA(); ~~~~~~ - at [WILDCARD]/types/main.ts:[WILDCARD] + at [WILDCARD]/main.ts:[WILDCARD] TS2322 [ERROR]: Type '"types"' is not assignable to type '"test4"'. const valueD: "test4" = entryTypes(); ~~~~~~ - at file:///[WILDCARD]/types/main.ts:[WILDCARD] + at file:///[WILDCARD]/main.ts:[WILDCARD] Found 9 errors. diff --git a/tests/testdata/npm/types/main.ts b/tests/specs/npm/types_general/main.ts index ae420f6d6..ae420f6d6 100644 --- a/tests/testdata/npm/types/main.ts +++ b/tests/specs/npm/types_general/main.ts |