From 8ba0647c2cfafc0c3014e1d2fca75f0d5b0a4c25 Mon Sep 17 00:00:00 2001 From: creatixchu Date: Wed, 29 Jul 2026 00:39:07 +0800 Subject: [PATCH] test(host): cover the cancel path that keeps an intact preview --- .../tests/directory-browser.spec.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/host/directory-picker-browse/tests/directory-browser.spec.tsx b/packages/host/directory-picker-browse/tests/directory-browser.spec.tsx index 21cba12d9f..3e18ae006c 100644 --- a/packages/host/directory-picker-browse/tests/directory-browser.spec.tsx +++ b/packages/host/directory-picker-browse/tests/directory-browser.spec.tsx @@ -355,6 +355,17 @@ describe('DirectoryBrowser', () => { expect(screen.queryByText('harness')).toBeNull() }) + it('keeps an intact selection preview when a path edit is cancelled', async () => { + mount() + await waitFor(() => { expect(screen.getByRole('listitem')).toBeTruthy() }) + fireEvent.click(rowButton(screen.getByRole('listitem'))) + await waitFor(() => { expect(columns()).toHaveLength(2) }) + fireEvent.click(screen.getByRole('button', { name: 'browser.editPath' })) + fireEvent.keyDown(screen.getByLabelText('browser.editPath'), { key: 'Escape' }) + // Nothing was superseded: the two-pane view survives the cancel. + expect(columns()).toHaveLength(2) + }) + it('falls back to the single-pane level when a path edit superseded the preview and was cancelled', async () => { const pending: ((listing: DirectoryListing) => void)[] = [] const b = mount()