From 2f0f236d5656fa2d89a8e1571d03c4bda5f10d38 Mon Sep 17 00:00:00 2001 From: "Kevin (Kun) \"Kassimo\" Qian" Date: Mon, 28 Oct 2019 15:29:15 -0700 Subject: Prevent customInspect error from crashing console (#3226) --- cli/js/console_test.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'cli/js/console_test.ts') diff --git a/cli/js/console_test.ts b/cli/js/console_test.ts index 903e65a82..50fe1d66a 100644 --- a/cli/js/console_test.ts +++ b/cli/js/console_test.ts @@ -190,6 +190,27 @@ test(function consoleTestWithCustomInspector(): void { assertEquals(stringify(new A()), "b"); }); +test(function consoleTestWithCustomInspectorError(): void { + class A { + [customInspect](): string { + throw new Error("BOOM"); + return "b"; + } + } + + assertEquals(stringify(new A()), "A {}"); + + class B { + constructor(public field: { a: string }) {} + [customInspect](): string { + return this.field.a; + } + } + + assertEquals(stringify(new B({ a: "a" })), "a"); + assertEquals(stringify(B.prototype), "{}"); +}); + test(function consoleTestWithIntegerFormatSpecifier(): void { assertEquals(stringify("%i"), "%i"); assertEquals(stringify("%i", 42.0), "42"); -- cgit v1.2.3