summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2020-12-15 16:52:55 +1100
committerGitHub <noreply@github.com>2020-12-15 16:52:55 +1100
commit63a821b78b5a293c0eb5b3ecc18d67bde8331eda (patch)
tree4229af0ba8b9f56467f1355b0c53054b69039edf /cli/tests
parentb6d5ae1ecd125ce8a14cddc877cb66dbcfc9bb04 (diff)
fix(cli): make dynamic import errors catchable (#8750)
Fixes #6259
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/dynamic_import/b.js2
-rw-r--r--cli/tests/dynamic_import/c.js2
-rw-r--r--cli/tests/error_004_missing_module.ts2
-rw-r--r--cli/tests/error_005_missing_dynamic_import.ts.out3
-rw-r--r--cli/tests/error_015_dynamic_import_permissions.out3
-rw-r--r--cli/tests/fix_dynamic_import_errors.js7
-rw-r--r--cli/tests/fix_dynamic_import_errors.js.out2
-rw-r--r--cli/tests/integration_tests.rs5
-rw-r--r--cli/tests/redirect_cache.out1
-rw-r--r--cli/tests/unsupported_dynamic_import_scheme.out2
10 files changed, 23 insertions, 6 deletions
diff --git a/cli/tests/dynamic_import/b.js b/cli/tests/dynamic_import/b.js
new file mode 100644
index 000000000..6ea50d360
--- /dev/null
+++ b/cli/tests/dynamic_import/b.js
@@ -0,0 +1,2 @@
+import "./bad.mjs";
+export default () => "error";
diff --git a/cli/tests/dynamic_import/c.js b/cli/tests/dynamic_import/c.js
new file mode 100644
index 000000000..20546455e
--- /dev/null
+++ b/cli/tests/dynamic_import/c.js
@@ -0,0 +1,2 @@
+await import("./bad2.mjs");
+export default () => "error";
diff --git a/cli/tests/error_004_missing_module.ts b/cli/tests/error_004_missing_module.ts
index 24ae52cf7..ab5350408 100644
--- a/cli/tests/error_004_missing_module.ts
+++ b/cli/tests/error_004_missing_module.ts
@@ -1,2 +1,4 @@
// eslint-disable-next-line
import * as badModule from "./bad-module.ts";
+
+console.log(badModule);
diff --git a/cli/tests/error_005_missing_dynamic_import.ts.out b/cli/tests/error_005_missing_dynamic_import.ts.out
index 79c61e7c8..bffa90796 100644
--- a/cli/tests/error_005_missing_dynamic_import.ts.out
+++ b/cli/tests/error_005_missing_dynamic_import.ts.out
@@ -1,2 +1 @@
-error: Cannot resolve module "[WILDCARD]/bad-module.ts" from "[WILDCARD]/error_005_missing_dynamic_import.ts".
- at file:///[WILDCARD]/error_005_missing_dynamic_import.ts:3:26
+error: Uncaught (in promise) TypeError: Cannot resolve module "[WILDCARD]/cli/tests/bad-module.ts".
diff --git a/cli/tests/error_015_dynamic_import_permissions.out b/cli/tests/error_015_dynamic_import_permissions.out
index b385da0d4..577dbcc5c 100644
--- a/cli/tests/error_015_dynamic_import_permissions.out
+++ b/cli/tests/error_015_dynamic_import_permissions.out
@@ -1,2 +1 @@
-error: network access to "http://localhost:4545/cli/tests/subdir/mod4.js", run again with the --allow-net flag
- at file:///[WILDCARD]cli/tests/error_015_dynamic_import_permissions.js:[WILDCARD]
+error: Uncaught (in promise) TypeError: network access to "http://localhost:4545/cli/tests/subdir/mod4.js", run again with the --allow-net flag
diff --git a/cli/tests/fix_dynamic_import_errors.js b/cli/tests/fix_dynamic_import_errors.js
new file mode 100644
index 000000000..317047ccb
--- /dev/null
+++ b/cli/tests/fix_dynamic_import_errors.js
@@ -0,0 +1,7 @@
+import("./dynamic_import/b.js").catch(() => {
+ console.log("caught import error from b.js");
+});
+
+import("./dynamic_import/c.js").catch(() => {
+ console.log("caught import error from c.js");
+});
diff --git a/cli/tests/fix_dynamic_import_errors.js.out b/cli/tests/fix_dynamic_import_errors.js.out
new file mode 100644
index 000000000..e7856fb9c
--- /dev/null
+++ b/cli/tests/fix_dynamic_import_errors.js.out
@@ -0,0 +1,2 @@
+caught import error from [WILDCARD].js
+caught import error from [WILDCARD].js
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index e4de423ee..2f23e2dee 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -3227,6 +3227,11 @@ itest!(tsx_imports {
output: "tsx_imports.ts.out",
});
+itest!(fix_dynamic_import_errors {
+ args: "run --reload fix_dynamic_import_errors.js",
+ output: "fix_dynamic_import_errors.js.out",
+});
+
itest!(fix_emittable_skipped {
args: "run --reload fix_emittable_skipped.js",
output: "fix_emittable_skipped.ts.out",
diff --git a/cli/tests/redirect_cache.out b/cli/tests/redirect_cache.out
index ad26d0108..609e523f7 100644
--- a/cli/tests/redirect_cache.out
+++ b/cli/tests/redirect_cache.out
@@ -2,5 +2,4 @@ Download http://localhost:4548/cli/tests/subdir/redirects/a.ts
Download http://localhost:4546/cli/tests/subdir/redirects/a.ts
Download http://localhost:4545/cli/tests/subdir/redirects/a.ts
Download http://localhost:4545/cli/tests/subdir/redirects/b.ts
-Download http://localhost:4545/cli/tests/subdir/redirects/a.ts
Check http://localhost:4548/cli/tests/subdir/redirects/a.ts
diff --git a/cli/tests/unsupported_dynamic_import_scheme.out b/cli/tests/unsupported_dynamic_import_scheme.out
index 0161b7a99..434f14c4c 100644
--- a/cli/tests/unsupported_dynamic_import_scheme.out
+++ b/cli/tests/unsupported_dynamic_import_scheme.out
@@ -1,4 +1,4 @@
-error: Unsupported scheme "xxx" for module "xxx:". Supported schemes: [
+error: Uncaught (in promise) TypeError: Unsupported scheme "xxx" for module "xxx:". Supported schemes: [
"http",
"https",
"file",