summaryrefslogtreecommitdiff
path: root/tests/specs/run/error_cause_recursive_tail
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/run/error_cause_recursive_tail')
-rw-r--r--tests/specs/run/error_cause_recursive_tail/__test__.jsonc5
-rw-r--r--tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts5
-rw-r--r--tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts.out9
3 files changed, 19 insertions, 0 deletions
diff --git a/tests/specs/run/error_cause_recursive_tail/__test__.jsonc b/tests/specs/run/error_cause_recursive_tail/__test__.jsonc
new file mode 100644
index 000000000..249ccac48
--- /dev/null
+++ b/tests/specs/run/error_cause_recursive_tail/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "args": "run error_cause_recursive_tail.ts",
+ "output": "error_cause_recursive_tail.ts.out",
+ "exitCode": 1
+}
diff --git a/tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts b/tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts
new file mode 100644
index 000000000..51e7fa6d9
--- /dev/null
+++ b/tests/specs/run/error_cause_recursive_tail/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/tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts.out b/tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts.out
new file mode 100644
index 000000000..04b15e91a
--- /dev/null
+++ b/tests/specs/run/error_cause_recursive_tail/error_cause_recursive_tail.ts.out
@@ -0,0 +1,9 @@
+error: Uncaught (in promise) Error: baz
+const baz = new Error("baz", { cause: bar });
+ ^
+ at file:///[WILDCARD]/error_cause_recursive_tail.ts:3:13
+Caused by: Error: bar <ref *1>
+ 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: [Circular *1]