From d3a37f8c062fde982ee5aa79c166b03c04b67299 Mon Sep 17 00:00:00 2001 From: svelte-triage-bot Date: Thu, 27 Aug 2026 16:07:16 +0000 Subject: [PATCH] test: wait for popstate state updates --- .../src/routes/shallow-routing/push-state/+page.svelte | 1 + packages/kit/test/apps/basics/test/client.test.js | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/packages/kit/test/apps/basics/src/routes/shallow-routing/push-state/+page.svelte b/packages/kit/test/apps/basics/src/routes/shallow-routing/push-state/+page.svelte index 3bb2d5e95d97..e53399ecaf82 100644 --- a/packages/kit/test/apps/basics/src/routes/shallow-routing/push-state/+page.svelte +++ b/packages/kit/test/apps/basics/src/routes/shallow-routing/push-state/+page.svelte @@ -87,4 +87,5 @@ {resolved} {data.now} +
diff --git a/packages/kit/test/apps/basics/test/client.test.js b/packages/kit/test/apps/basics/test/client.test.js index 0f32a99bf5a0..48afd6348ed1 100644 --- a/packages/kit/test/apps/basics/test/client.test.js +++ b/packages/kit/test/apps/basics/test/client.test.js @@ -2309,6 +2309,7 @@ test.describe('Shallow routing', () => { for (const shallow of [true, false]) { const prefix = shallow ? 'shallow' : 'regular'; const input = page.locator('[data-id="options-focus"]'); + const search = page.locator('[data-id="search"]'); const state = () => page.evaluate(() => ({ focus: document.activeElement?.getAttribute('data-id') ?? document.activeElement?.tagName, @@ -2325,11 +2326,13 @@ test.describe('Shallow routing', () => { await page.evaluate(() => scrollTo(0, 700)); await page.goBack(); await expect(page).not.toHaveURL(new RegExp(`${prefix}=a`)); + await expect(search).toHaveText(''); await expect.poll(state).toEqual({ focus: 'options-focus', y: 700 }); await page.evaluate(() => scrollTo(0, 300)); await page.goForward(); await expect(page).toHaveURL(new RegExp(`${prefix}=a`)); + await expect(search).toHaveText(`?${prefix}=a`); await expect.poll(state).toEqual({ focus: 'options-focus', y: 300 }); await page.reload(); @@ -2337,11 +2340,13 @@ test.describe('Shallow routing', () => { await page.evaluate(() => scrollTo(0, 350)); await page.goBack(); await expect(page).not.toHaveURL(new RegExp(`${prefix}=a`)); + await expect(search).toHaveText(''); await expect.poll(state).toEqual({ focus: 'options-focus', y: 350 }); await page.evaluate(() => scrollTo(0, 400)); await page.goForward(); await expect(page).toHaveURL(new RegExp(`${prefix}=a`)); + await expect(search).toHaveText(`?${prefix}=a`); await expect.poll(state).toEqual({ focus: 'options-focus', y: 400 }); await app.goto(`?${prefix}=b`, { shallow, reset: true });