summaryrefslogtreecommitdiff
path: root/cli/tests/unit/error_stack_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/error_stack_test.ts')
-rw-r--r--cli/tests/unit/error_stack_test.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/cli/tests/unit/error_stack_test.ts b/cli/tests/unit/error_stack_test.ts
index eb0a5c0e6..052cb9591 100644
--- a/cli/tests/unit/error_stack_test.ts
+++ b/cli/tests/unit/error_stack_test.ts
@@ -1,5 +1,5 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-import { unitTest, assert } from "./test_util.ts";
+import { assert, assertEquals, unitTest } from "./test_util.ts";
// @ts-expect-error TypeScript (as of 3.7) does not support indexing namespaces by symbol
const { setPrepareStackTrace } = Deno[Deno.internal];
@@ -96,6 +96,18 @@ unitTest(function prepareStackTrace(): void {
assert(result.includes(".ts:"), "should remap to something in 'js/'");
});
+unitTest(function captureStackTrace(): void {
+ function foo(): void {
+ const error = new Error();
+ const stack1 = error.stack!;
+ Error.captureStackTrace(error, foo);
+ const stack2 = error.stack!;
+ // stack2 should be stack1 without the first frame.
+ assertEquals(stack2, stack1.replace(/(?<=^[^\n]*\n)[^\n]*\n/, ""));
+ }
+ foo();
+});
+
unitTest(function applySourceMap(): void {
const result = Deno.applySourceMap({
fileName: "CLI_SNAPSHOT.js",