From 459128dfb6c3c03e1d026fff3d283545ead39dec Mon Sep 17 00:00:00 2001 From: creatixchu Date: Wed, 29 Jul 2026 01:57:19 +0800 Subject: [PATCH] fix(web): root USERPROFILE for the browser golden; re-record it against fresh bundles - homedir() reads USERPROFILE on Windows: the golden's home collapse now sets and restores both variables, keeping the artifact machine-independent on every platform (ds-review-bot). - The committed golden is re-recorded against freshly built bundles: the earlier recording ran with a stale dist that predated the navigation landmark and the button-in-listitem markup, which is why refreshes had looked byte-identical. --- .../directory-browser.expected.md | 21 +++++++++++-------- apps/web/tests/workspace-management.e2e.ts | 9 +++++++- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/apps/web/tests/snapshots/workspace-management/directory-browser.expected.md b/apps/web/tests/snapshots/workspace-management/directory-browser.expected.md index e394b2cdb6..7fbcd35d75 100644 --- a/apps/web/tests/snapshots/workspace-management/directory-browser.expected.md +++ b/apps/web/tests/snapshots/workspace-management/directory-browser.expected.md @@ -1,18 +1,21 @@ - dialog "选择工作区目录": - heading "选择工作区目录" [level=2] - - button "主目录" - - img - - button "browse-golden" + - navigation: + - button "主目录" + - img + - button "browse-golden" - button "编辑路径" - list: - listitem: - - img - - text: alpha - - img + - button "alpha": + - img + - text: alpha + - img - listitem: - - img - - text: beta - - img + - button "beta": + - img + - text: beta + - img - button "新建文件夹": - img - text: 新建文件夹 diff --git a/apps/web/tests/workspace-management.e2e.ts b/apps/web/tests/workspace-management.e2e.ts index a034140bf2..ff9d458280 100644 --- a/apps/web/tests/workspace-management.e2e.ts +++ b/apps/web/tests/workspace-management.e2e.ts @@ -354,8 +354,12 @@ describe('web e2e: workspace management (create / rename / flat view / hover car const staged = join(scaffold.workspaceCwd, 'browse-golden') await mkdir(join(staged, 'alpha'), { recursive: true }) await mkdir(join(staged, 'beta'), { recursive: true }) + // homedir() reads HOME on POSIX and USERPROFILE on Windows: root both + // at the scaffold cwd so the golden's ancestry collapses everywhere. const realHome = process.env.HOME + const realUserProfile = process.env.USERPROFILE process.env.HOME = scaffold.workspaceCwd + process.env.USERPROFILE = scaffold.workspaceCwd try { await page.getByRole('button', { name: 'Create workspace' }).click() await page.getByRole('menuitem', { name: 'Open local folder…' }).click() @@ -370,7 +374,10 @@ describe('web e2e: workspace management (create / rename / flat view / hover car await dialog.getByRole('button', { name: '取消' }).click() await dialog.waitFor({ state: 'hidden', timeout: 10_000 }) } finally { - process.env.HOME = realHome + if (realHome === undefined) delete process.env.HOME + else process.env.HOME = realHome + if (realUserProfile === undefined) delete process.env.USERPROFILE + else process.env.USERPROFILE = realUserProfile } expect(tripwire.pageErrors).toEqual([]) }, 60_000)