From 5205bac9d1ce1840d322d794482f89d6db4d3406 Mon Sep 17 00:00:00 2001 From: Simon Holthausen Date: Mon, 27 Nov 2023 14:41:04 +0100 Subject: [PATCH] cleanup --- packages/svelte/src/internal/client/runtime.js | 2 +- packages/svelte/src/internal/client/types.d.ts | 2 +- .../tests/runtime-runes/samples/log-trace/_config.js | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index c39c9a01d9..28590fbe3d 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -837,7 +837,7 @@ function attach_trace(signal) { // Chromium-based browsers don't do source mapping based on whether an Error object is handed to them, // they purely do pattern matching on the stack trace string. This leads us to unfortunately needing to // have "Error" as part of the name even if it's not really one. - error.stack = `ExpectedError: ($log.trace)\n${error.stack?.split('\n')?.at(3)}`; + error.stack = `ExpectedError: $log.trace\n${error.stack?.split('\n')?.at(3)}`; } else { // For once, Safari and Firefox do it better error.name = '$log.trace'; diff --git a/packages/svelte/src/internal/client/types.d.ts b/packages/svelte/src/internal/client/types.d.ts index 09e0e94c33..6220c30cfe 100644 --- a/packages/svelte/src/internal/client/types.d.ts +++ b/packages/svelte/src/internal/client/types.d.ts @@ -82,7 +82,7 @@ export type SourceSignal = { export type SourceSignalDebug = { /** debug: This is DEV only */ - d: null | string; + d: null | Error; }; export type ComputationSignal = { diff --git a/packages/svelte/tests/runtime-runes/samples/log-trace/_config.js b/packages/svelte/tests/runtime-runes/samples/log-trace/_config.js index e8895b47ba..1aa0625749 100644 --- a/packages/svelte/tests/runtime-runes/samples/log-trace/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/log-trace/_config.js @@ -23,14 +23,18 @@ export default test({ after_test() { console.log = original_log; }, - async test({ assert, target, component }) { + async test({ assert, target }) { const [b1, b2] = target.querySelectorAll('button'); b1.click(); b2.click(); await Promise.resolve(); assert.deepEqual(log[0], 0); - assert.deepEqual(log[1].startsWith('$log.trace: HTMLButtonElement.on_click'), true); + assert.deepEqual( + log[1].stack.startsWith('ExpectedError: $log.trace') && + log[1].stack.includes('HTMLButtonElement.on_click'), + true + ); assert.deepEqual(log[2], 1); } });