From 1c9b6af15786cf053f500e8efae32877c483b0eb Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 12 Feb 2026 13:03:29 -0800 Subject: [PATCH 1/3] chore: fix type checking in client test --- .../test/apps/basics/test/cross-platform/client.test.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/kit/test/apps/basics/test/cross-platform/client.test.js b/packages/kit/test/apps/basics/test/cross-platform/client.test.js index 7a8cbc354329..17692eb9391b 100644 --- a/packages/kit/test/apps/basics/test/cross-platform/client.test.js +++ b/packages/kit/test/apps/basics/test/cross-platform/client.test.js @@ -350,12 +350,18 @@ test.describe('Navigation lifecycle functions', () => { expect(beforeNav.toScroll).toBe(null); expect(beforeNav.type).toBe('link'); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.fromScroll).toEqual({ x: 0, y: 500 }); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.toScroll).toBe(null); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.type).toBe('link'); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(afterNav.fromScroll).toEqual({ x: 0, y: 500 }); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(afterNav.toScroll).toEqual({ x: 0, y: 0 }); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(afterNav.type).toBe('link'); }); @@ -405,8 +411,11 @@ test.describe('Navigation lifecycle functions', () => { expect(beforeNav.toScroll).toEqual({ x: 0, y: savedScrollY }); expect(beforeNav.type).toBe('popstate'); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.fromScroll).toEqual({ x: 0, y: 0 }); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.toScroll).toEqual({ x: 0, y: savedScrollY }); + // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.type).toBe('popstate'); expect(afterNav.toScroll).toEqual({ x: 0, y: savedScrollY }); From 25f7a85c610b9996956b633c10b6198b8aa30d1e Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 12 Feb 2026 13:27:59 -0800 Subject: [PATCH 2/3] address comment --- .../basics/test/cross-platform/client.test.js | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/packages/kit/test/apps/basics/test/cross-platform/client.test.js b/packages/kit/test/apps/basics/test/cross-platform/client.test.js index 17692eb9391b..27419658e358 100644 --- a/packages/kit/test/apps/basics/test/cross-platform/client.test.js +++ b/packages/kit/test/apps/basics/test/cross-platform/client.test.js @@ -326,9 +326,9 @@ test.describe('Navigation lifecycle functions', () => { await page.goto('/navigation-lifecycle/scroll-state/a'); await scroll_to(0, 500); - /** @type {any} */ - let beforeNav, onNav, afterNav; const navPromise = new Promise((resolve) => { + /** @type {any} */ + let beforeNav, onNav, afterNav; page.on('console', (msg) => { const text = msg.text(); if (text.startsWith('beforeNavigate:')) { @@ -339,29 +339,23 @@ test.describe('Navigation lifecycle functions', () => { afterNav = JSON.parse(text.slice('afterNavigate:'.length)); } - if (beforeNav && onNav && afterNav) resolve(undefined); + if (beforeNav && onNav && afterNav) resolve({ beforeNav, onNav, afterNav }); }); }); await clicknav('#to-b'); - await navPromise; + const { beforeNav, onNav, afterNav } = await navPromise; expect(beforeNav.fromScroll).toEqual({ x: 0, y: 500 }); expect(beforeNav.toScroll).toBe(null); expect(beforeNav.type).toBe('link'); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.fromScroll).toEqual({ x: 0, y: 500 }); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.toScroll).toBe(null); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.type).toBe('link'); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(afterNav.fromScroll).toEqual({ x: 0, y: 500 }); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(afterNav.toScroll).toEqual({ x: 0, y: 0 }); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(afterNav.type).toBe('link'); }); @@ -386,9 +380,9 @@ test.describe('Navigation lifecycle functions', () => { const savedScrollY = afterNav.fromScroll.y; - /** @type {any} */ - let beforeNav, onNav; navPromise = new Promise((resolve) => { + /** @type {any} */ + let beforeNav, onNav, afterNav; page.on('console', (msg) => { const text = msg.text(); if (text.startsWith('beforeNavigate:')) { @@ -399,23 +393,20 @@ test.describe('Navigation lifecycle functions', () => { afterNav = JSON.parse(text.slice('afterNavigate:'.length)); } - if (beforeNav && onNav && afterNav) resolve(undefined); + if (beforeNav && onNav && afterNav) resolve({ beforeNav, onNav, afterNav }); }); }); await page.goBack(); await page.waitForURL('/navigation-lifecycle/scroll-state/a'); - await navPromise; + ({ beforeNav, onNav, afterNav } = await navPromise); expect(beforeNav.fromScroll).toEqual({ x: 0, y: 0 }); expect(beforeNav.toScroll).toEqual({ x: 0, y: savedScrollY }); expect(beforeNav.type).toBe('popstate'); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.fromScroll).toEqual({ x: 0, y: 0 }); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.toScroll).toEqual({ x: 0, y: savedScrollY }); - // @ts-expect-error - guaranteed to be defined since navPromise has been resolved expect(onNav.type).toBe('popstate'); expect(afterNav.toScroll).toEqual({ x: 0, y: savedScrollY }); From 3ffaad8811daf05b8befe31608c7e1fb805ef712 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 12 Feb 2026 13:51:17 -0800 Subject: [PATCH 3/3] fix --- .../kit/test/apps/basics/test/cross-platform/client.test.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/kit/test/apps/basics/test/cross-platform/client.test.js b/packages/kit/test/apps/basics/test/cross-platform/client.test.js index 27419658e358..b2b57299e158 100644 --- a/packages/kit/test/apps/basics/test/cross-platform/client.test.js +++ b/packages/kit/test/apps/basics/test/cross-platform/client.test.js @@ -399,6 +399,8 @@ test.describe('Navigation lifecycle functions', () => { await page.goBack(); await page.waitForURL('/navigation-lifecycle/scroll-state/a'); + /** @type {any} */ + let beforeNav, onNav; ({ beforeNav, onNav, afterNav } = await navPromise); expect(beforeNav.fromScroll).toEqual({ x: 0, y: 0 });