From 994b6327d3af5721fa4fcf6fbfe856a6f6da79cf Mon Sep 17 00:00:00 2001 From: MujahedSafaa <168719085+MujahedSafaa@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:18:49 +0300 Subject: fix(ext/console): Error Cause Not Inspect-Formatted when printed (#24526) This pull request addresses an issue where the Error.cause property was not formatted correctly when printed using console.log, leading to confusion. solution: Implemented a fix to ensure that Error.cause is formatted properly when printed by console.log, and the fix done by using JSON.stringify This PR fixes https://github.com/denoland/deno/issues/23416 --------- Signed-off-by: MujahedSafaa <168719085+MujahedSafaa@users.noreply.github.com> --- tests/unit/console_test.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/unit/console_test.ts b/tests/unit/console_test.ts index 49960f663..4c9378bd4 100644 --- a/tests/unit/console_test.ts +++ b/tests/unit/console_test.ts @@ -2206,6 +2206,22 @@ Deno.test(function inspectErrorCircular() { ); }); +Deno.test(function inspectErrorWithCauseFormat() { + const error = new Error("This is an error", { + cause: { + code: 100500, + }, + }); + assertStringIncludes( + stripColor(Deno.inspect(error)), + "Error: This is an error", + ); + assertStringIncludes( + stripColor(Deno.inspect(error)), + "Caused by { code: 100500 }", + ); +}); + Deno.test(function inspectColors() { assertEquals(Deno.inspect(1), "1"); assertStringIncludes(Deno.inspect(1, { colors: true }), "\x1b["); -- cgit v1.2.3