diff options
| author | Luke Parker <[email protected]> | 2026-03-17 12:55:58 +1000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-17 12:55:58 +1000 |
| commit | e416e59ea69f7600acbdb593ba68ac0fb1ee2633 (patch) | |
| tree | f1594d949fc3ad0d37f871e3d1028fcc77674035 /packages/app/src/testing/terminal.ts | |
| parent | cb69501098c603ccd7d3e3dbe6655d401c1d815c (diff) | |
| download | opencode-e416e59ea69f7600acbdb593ba68ac0fb1ee2633.tar.gz opencode-e416e59ea69f7600acbdb593ba68ac0fb1ee2633.zip | |
test(app): deflake slash terminal toggle flow (#17881)
Diffstat (limited to 'packages/app/src/testing/terminal.ts')
| -rw-r--r-- | packages/app/src/testing/terminal.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/app/src/testing/terminal.ts b/packages/app/src/testing/terminal.ts index af1c33309..2bca39b31 100644 --- a/packages/app/src/testing/terminal.ts +++ b/packages/app/src/testing/terminal.ts @@ -7,6 +7,7 @@ export type TerminalProbeState = { connects: number rendered: string settled: number + focusing: number } type TerminalProbeControl = { @@ -19,6 +20,10 @@ export type E2EWindow = Window & { enabled?: boolean current?: ModelProbeState } + prompt?: { + enabled?: boolean + current?: import("./prompt").PromptProbeState + } terminal?: { enabled?: boolean terminals?: Record<string, TerminalProbeState> @@ -32,6 +37,7 @@ const seed = (): TerminalProbeState => ({ connects: 0, rendered: "", settled: 0, + focusing: 0, }) const root = () => { @@ -88,6 +94,15 @@ export const terminalProbe = (id: string) => { const prev = state[id] ?? seed() state[id] = { ...prev, settled: prev.settled + 1 } }, + focus(count: number) { + set({ focusing: Math.max(0, count) }) + }, + step() { + const state = terms() + if (!state) return + const prev = state[id] ?? seed() + state[id] = { ...prev, focusing: Math.max(0, prev.focusing - 1) } + }, control(next: Partial<TerminalProbeControl>) { const state = controls() if (!state) return |
