( fixture: WrapperTmuxFixture, label: string, timeoutMs = 8_000, )
| 123 | } |
| 124 | |
| 125 | export async function waitForWrapperTmuxTranscriptRows( |
| 126 | fixture: WrapperTmuxFixture, |
| 127 | label: string, |
| 128 | timeoutMs = 8_000, |
| 129 | ): Promise<string> { |
| 130 | return await waitForText( |
| 131 | () => capturePane(fixture.session, { startLine: 0 }), |
| 132 | pane => { |
| 133 | const rows = readVisibleRows(pane) |
| 134 | return ( |
| 135 | rows.some( |
| 136 | row => |
| 137 | row.includes('Showing detailed transcript') && |
| 138 | row.includes('ctrl+o to toggle'), |
| 139 | ) && rows.some(row => row.includes(fixture.expectedRows[3]!)) |
| 140 | ) |
| 141 | }, |
| 142 | { timeoutMs, label }, |
| 143 | ) |
| 144 | } |
| 145 | |
| 146 | export async function spawnStagingWrapperTmuxPromptFixture(): Promise<WrapperTmuxFixture> { |
| 147 | const compiledBinaryPath = requireCompiledBinaryPath() |
no test coverage detected