summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration/run_tests.rs6
-rw-r--r--cli/tests/testdata/error_cause_recursive_tail.ts5
-rw-r--r--cli/tests/testdata/error_cause_recursive_tail.ts.out12
3 files changed, 23 insertions, 0 deletions
diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs
index f9daa7aa7..004acb469 100644
--- a/cli/tests/integration/run_tests.rs
+++ b/cli/tests/integration/run_tests.rs
@@ -3374,6 +3374,12 @@ itest!(error_cause {
exit_code: 1,
});
+itest!(error_cause_recursive_tail {
+ args: "run error_cause_recursive_tail.ts",
+ output: "error_cause_recursive_tail.ts.out",
+ exit_code: 1,
+});
+
itest!(error_cause_recursive {
args: "run run/error_cause_recursive.ts",
output: "run/error_cause_recursive.ts.out",
diff --git a/cli/tests/testdata/error_cause_recursive_tail.ts b/cli/tests/testdata/error_cause_recursive_tail.ts
new file mode 100644
index 000000000..51e7fa6d9
--- /dev/null
+++ b/cli/tests/testdata/error_cause_recursive_tail.ts
@@ -0,0 +1,5 @@
+const foo = new Error("foo");
+const bar = new Error("bar", { cause: foo });
+const baz = new Error("baz", { cause: bar });
+foo.cause = bar;
+throw baz;
diff --git a/cli/tests/testdata/error_cause_recursive_tail.ts.out b/cli/tests/testdata/error_cause_recursive_tail.ts.out
new file mode 100644
index 000000000..6aaecdb80
--- /dev/null
+++ b/cli/tests/testdata/error_cause_recursive_tail.ts.out
@@ -0,0 +1,12 @@
+[WILDCARD]
+error: Uncaught Error: baz
+const baz = new Error("baz", { cause: bar });
+ ^
+ at file:///[WILDCARD]/error_cause_recursive_tail.ts:3:13
+Caused by: Error: bar
+ at file:///[WILDCARD]/error_cause_recursive_tail.ts:2:13
+Caused by: Error: foo
+ at file:///[WILDCARD]/error_cause_recursive_tail.ts:1:13
+Caused by: Error: bar
+ at file:///[WILDCARD]/error_cause_recursive_tail.ts:2:13
+[WILDCARD]