From 8b977253f3573978f3678ed0d618a6a75f32cb1a Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Fri, 14 Feb 2025 16:22:52 +0100 Subject: [PATCH] chore: fix `$props.id` tests (#15294) * chore: fix `$props.id` tests * chore: reset uid between tests --- packages/svelte/src/internal/client/dom/template.js | 4 ++++ packages/svelte/tests/runtime-legacy/shared.ts | 2 ++ .../svelte/tests/runtime-runes/samples/props-id/_config.js | 4 +--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/internal/client/dom/template.js b/packages/svelte/src/internal/client/dom/template.js index 6ff3b0fa19..575bf55cf6 100644 --- a/packages/svelte/src/internal/client/dom/template.js +++ b/packages/svelte/src/internal/client/dom/template.js @@ -252,6 +252,10 @@ export function append(anchor, dom) { let uid = 1; +export function reset_props_id() { + uid = 1; +} + /** * Create (or hydrate) an unique UID for the component instance. */ diff --git a/packages/svelte/tests/runtime-legacy/shared.ts b/packages/svelte/tests/runtime-legacy/shared.ts index e6dc0f385b..76036852c2 100644 --- a/packages/svelte/tests/runtime-legacy/shared.ts +++ b/packages/svelte/tests/runtime-legacy/shared.ts @@ -11,6 +11,7 @@ import { setup_html_equal } from '../html_equal.js'; import { raf } from '../animation-helpers.js'; import type { CompileOptions } from '#compiler'; import { suite_with_variants, type BaseTest } from '../suite.js'; +import { reset_props_id } from '../../src/internal/client/dom/template.js'; type Assert = typeof import('vitest').assert & { htmlEqual(a: string, b: string, description?: string): void; @@ -345,6 +346,7 @@ async function run_test_variant( if (runes) { props = proxy({ ...(config.props || {}) }); + reset_props_id(); if (manual_hydrate) { hydrate_fn = () => { instance = hydrate(mod.default, { diff --git a/packages/svelte/tests/runtime-runes/samples/props-id/_config.js b/packages/svelte/tests/runtime-runes/samples/props-id/_config.js index 9d91b98e0f..416ef6cfbe 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-id/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-id/_config.js @@ -43,8 +43,6 @@ export default test({ ` ); } else { - // `c6` because this runs after the `dom` tests - // (slightly brittle but good enough for now) assert.htmlEqual( target.innerHTML, ` @@ -53,7 +51,7 @@ export default test({

s2

s3

s4

-

c6

+

c1

` ); }