From f19524fe0314fedc2a822b31259f11b6ba8a1160 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 26 Aug 2024 13:20:05 -0400 Subject: [PATCH] more --- .../invalid-nested-svelte-element/_config.js | 6 +++++- .../svelte/tests/server-side-rendering/test.ts | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/svelte/tests/server-side-rendering/samples/invalid-nested-svelte-element/_config.js b/packages/svelte/tests/server-side-rendering/samples/invalid-nested-svelte-element/_config.js index ed0ead960b..9b2688711d 100644 --- a/packages/svelte/tests/server-side-rendering/samples/invalid-nested-svelte-element/_config.js +++ b/packages/svelte/tests/server-side-rendering/samples/invalid-nested-svelte-element/_config.js @@ -3,5 +3,9 @@ import { test } from '../../test'; export default test({ compileOptions: { dev: true - } + }, + + errors: [ + 'node_invalid_placement_ssr: `

` (packages/svelte/tests/server-side-rendering/samples/invalid-nested-svelte-element/main.svelte:1:0) cannot contain `

` (packages/svelte/tests/server-side-rendering/samples/invalid-nested-svelte-element/main.svelte:2:1)\n\nThis can cause content to shift around as the browser repairs the HTML, and will likely result in a `hydration_mismatch` warning.' + ] }); diff --git a/packages/svelte/tests/server-side-rendering/test.ts b/packages/svelte/tests/server-side-rendering/test.ts index 27a48efa83..f76c5b539f 100644 --- a/packages/svelte/tests/server-side-rendering/test.ts +++ b/packages/svelte/tests/server-side-rendering/test.ts @@ -16,11 +16,21 @@ interface SSRTest extends BaseTest { compileOptions?: Partial; props?: Record; withoutNormalizeHtml?: boolean; + errors?: string[]; } +// eslint-disable-next-line no-console +let console_error = console.error; + const { test, run } = suite(async (config, test_dir) => { await compile_directory(test_dir, 'server', config.compileOptions); + const errors: string[] = []; + + console.error = (...args) => { + errors.push(...args); + }; + const Component = (await import(`${test_dir}/_output/server/main.svelte.js`)).default; const expected_html = try_read_file(`${test_dir}/_expected.html`); const rendered = render(Component, { props: config.props || {} }); @@ -64,6 +74,12 @@ const { test, run } = suite(async (config, test_dir) => { } } } + + if (errors.length > 0) { + assert.deepEqual(config.errors, errors); + } + + console.error = console_error; }); export { test };