summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/testing/terminal.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/testing/terminal.ts')
-rw-r--r--packages/app/src/testing/terminal.ts15
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