summaryrefslogtreecommitdiff
path: root/tests/specs/run/error_cause_recursive
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/run/error_cause_recursive')
-rw-r--r--tests/specs/run/error_cause_recursive/__test__.jsonc5
-rw-r--r--tests/specs/run/error_cause_recursive/error_cause_recursive.ts4
-rw-r--r--tests/specs/run/error_cause_recursive/error_cause_recursive.ts.out7
3 files changed, 16 insertions, 0 deletions
diff --git a/tests/specs/run/error_cause_recursive/__test__.jsonc b/tests/specs/run/error_cause_recursive/__test__.jsonc
new file mode 100644
index 000000000..71c4cf3cc
--- /dev/null
+++ b/tests/specs/run/error_cause_recursive/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run error_cause_recursive.ts",
+ "output": "error_cause_recursive.ts.out",
+ "exitCode": 1
+}
diff --git a/tests/specs/run/error_cause_recursive/error_cause_recursive.ts b/tests/specs/run/error_cause_recursive/error_cause_recursive.ts
new file mode 100644
index 000000000..a6999b1ff
--- /dev/null
+++ b/tests/specs/run/error_cause_recursive/error_cause_recursive.ts
@@ -0,0 +1,4 @@
+const x = new Error("foo");
+const y = new Error("bar", { cause: x });
+x.cause = y;
+throw y;
diff --git a/tests/specs/run/error_cause_recursive/error_cause_recursive.ts.out b/tests/specs/run/error_cause_recursive/error_cause_recursive.ts.out
new file mode 100644
index 000000000..52d5a03a1
--- /dev/null
+++ b/tests/specs/run/error_cause_recursive/error_cause_recursive.ts.out
@@ -0,0 +1,7 @@
+error: Uncaught (in promise) Error: bar <ref *1>
+const y = new Error("bar", { cause: x });
+ ^
+ at file:///[WILDCARD]/error_cause_recursive.ts:2:11
+Caused by: Error: foo
+ at file:///[WILDCARD]/error_cause_recursive.ts:1:11
+Caused by: [Circular *1]