diff options
| author | Shoubhit Dash <[email protected]> | 2026-03-08 18:20:04 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-08 07:50:04 -0500 |
| commit | 6e9e027886e78bdf08ecf94bc365537576b76b26 (patch) | |
| tree | 3c1e23fdc9b2f29b2a863deb3f7e3c22b076f758 /packages/app/e2e | |
| parent | f9a3d129a4a852558a1cfdf6949839834d8a4438 (diff) | |
| download | opencode-6e9e027886e78bdf08ecf94bc365537576b76b26.tar.gz opencode-6e9e027886e78bdf08ecf94bc365537576b76b26.zip | |
fix: trim retained desktop terminal buffers (#16583)
Diffstat (limited to 'packages/app/e2e')
| -rw-r--r-- | packages/app/e2e/terminal/terminal-tabs.spec.ts | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/packages/app/e2e/terminal/terminal-tabs.spec.ts b/packages/app/e2e/terminal/terminal-tabs.spec.ts index f76a86cf7..afa6254cd 100644 --- a/packages/app/e2e/terminal/terminal-tabs.spec.ts +++ b/packages/app/e2e/terminal/terminal-tabs.spec.ts @@ -44,12 +44,14 @@ async function store(page: Page, key: string) { }, key) } -test("terminal tab buffers persist across tab switches", async ({ page, withProject }) => { +test("inactive terminal tab buffers persist across tab switches", async ({ page, withProject }) => { await withProject(async ({ directory, gotoSession }) => { const key = workspacePersistKey(directory, "terminal") const one = `E2E_TERM_ONE_${Date.now()}` const two = `E2E_TERM_TWO_${Date.now()}` const tabs = page.locator('#terminal-panel [data-slot="tabs-trigger"]') + const first = tabs.filter({ hasText: /Terminal 1/ }).first() + const second = tabs.filter({ hasText: /Terminal 2/ }).first() await gotoSession() await open(page) @@ -61,22 +63,39 @@ test("terminal tab buffers persist across tab switches", async ({ page, withProj await run(page, `echo ${two}`) - await tabs - .filter({ hasText: /Terminal 1/ }) - .first() - .click() + await first.click() + await expect(first).toHaveAttribute("aria-selected", "true") + await expect + .poll( + async () => { + const state = await store(page, key) + const first = state?.all.find((item) => item.titleNumber === 1)?.buffer ?? "" + const second = state?.all.find((item) => item.titleNumber === 2)?.buffer ?? "" + return { + first: first.includes(one), + second: second.includes(two), + } + }, + { timeout: 30_000 }, + ) + .toEqual({ first: false, second: true }) + await second.click() + await expect(second).toHaveAttribute("aria-selected", "true") await expect .poll( async () => { const state = await store(page, key) const first = state?.all.find((item) => item.titleNumber === 1)?.buffer ?? "" const second = state?.all.find((item) => item.titleNumber === 2)?.buffer ?? "" - return first.includes(one) && second.includes(two) + return { + first: first.includes(one), + second: second.includes(two), + } }, { timeout: 30_000 }, ) - .toBe(true) + .toEqual({ first: true, second: false }) }) }) |
