diff options
Diffstat (limited to 'cli/tests')
6 files changed, 46 insertions, 8 deletions
diff --git a/cli/tests/integration/npm_tests.rs b/cli/tests/integration/npm_tests.rs index 9c4b98241..c46f8e92b 100644 --- a/cli/tests/integration/npm_tests.rs +++ b/cli/tests/integration/npm_tests.rs @@ -6,8 +6,7 @@ use test_util as util; use util::assert_contains; use util::http_server; -// NOTE: It's possible to automatically update the npm registry data in the test server -// by setting the DENO_TEST_UTIL_UPDATE_NPM=1 environment variable. +// NOTE: See how to make test npm packages at ../testdata/npm/README.md itest!(esm_module { args: "run --allow-read --unstable npm/esm/main.js", @@ -48,6 +47,13 @@ itest!(cjs_sub_path { http_server: true, }); +itest!(cjs_local_global_decls { + args: "run --allow-read --unstable npm/cjs_local_global_decls/main.ts", + output: "npm/cjs_local_global_decls/main.out", + envs: env_vars(), + http_server: true, +}); + itest!(dynamic_import { args: "run --allow-read --unstable npm/dynamic_import/main.ts", output: "npm/dynamic_import/main.out", @@ -238,12 +244,14 @@ fn ensure_registry_files_local() { let registry_json_path = registry_dir_path .join(entry.file_name()) .join("registry.json"); - let file_text = std::fs::read_to_string(®istry_json_path).unwrap(); - if file_text.contains("https://registry.npmjs.org/") { - panic!( - "file {} contained a reference to the npm registry", - registry_json_path.display(), - ); + if registry_json_path.exists() { + let file_text = std::fs::read_to_string(®istry_json_path).unwrap(); + if file_text.contains("https://registry.npmjs.org/") { + panic!( + "file {} contained a reference to the npm registry", + registry_json_path.display(), + ); + } } } } diff --git a/cli/tests/testdata/npm/README.md b/cli/tests/testdata/npm/README.md new file mode 100644 index 000000000..ba3f5f771 --- /dev/null +++ b/cli/tests/testdata/npm/README.md @@ -0,0 +1,18 @@ +# npm test data + +This folder contains test data for npm specifiers. + +## Registry + +The registry is served by the test server (server in test_util) at +http://localhost:4545/npm/registry/ via the `./registry` folder. + +### Updating with real npm packages + +1. Set the `DENO_TEST_UTIL_UPDATE_NPM=1` environment variable +2. Run the test and it should download the packages. + +### Using a custom npm package + +1. Add the custom package to `./registry/@denotest` +2. Reference `npm:@denotest/<your-package-name>` in the tests. diff --git a/cli/tests/testdata/npm/cjs_local_global_decls/main.out b/cli/tests/testdata/npm/cjs_local_global_decls/main.out new file mode 100644 index 000000000..f9331e2e5 --- /dev/null +++ b/cli/tests/testdata/npm/cjs_local_global_decls/main.out @@ -0,0 +1,3 @@ +Download http://localhost:4545/npm/registry/@denotest/cjs-local-global-decls +Download http://localhost:4545/npm/registry/@denotest/cjs-local-global-decls/1.0.0.tgz +Loaded. diff --git a/cli/tests/testdata/npm/cjs_local_global_decls/main.ts b/cli/tests/testdata/npm/cjs_local_global_decls/main.ts new file mode 100644 index 000000000..04074057b --- /dev/null +++ b/cli/tests/testdata/npm/cjs_local_global_decls/main.ts @@ -0,0 +1 @@ +import "npm:@denotest/cjs-local-global-decls@1.0.0"; diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js new file mode 100644 index 000000000..75fc15d83 --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/index.js @@ -0,0 +1,4 @@ +// package that has all the locals defined +const Buffer = 1, clearImmediate = 1, clearInterval = 1, clearTimeout = 1, global = 1, process = 1, setImmediate = 1, setInterval = 1, setTimeout = 1, globalThis = 1; +const exports = 2; +console.log("Loaded."); diff --git a/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/package.json b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/package.json new file mode 100644 index 000000000..f3514e2ab --- /dev/null +++ b/cli/tests/testdata/npm/registry/@denotest/cjs-local-global-decls/1.0.0/package.json @@ -0,0 +1,4 @@ +{ + "name": "@deno/cjs-local-global-decls", + "version": "1.0.0" +}
\ No newline at end of file |