cliffhall
ae0e9d53a3
test(tui): settle input handlers at the keypress sites too, and pin the contract
...
Extends the previous commit's fix rather than changing it. `waitUntil` now
settles, but the same window is open wherever a key is written without having
just polled: `press()` reaches its `stdin.write` on a turn that may still have
React's passive-effect flush queued (straight after a plain `tick`, or after an
earlier key committed a render), and `mount()`'s absorbing keypress lands one
tick after the mount commit. Both now `await settleInputHandlers()` before
writing, so "frame visible" implies "input handlers armed" at every dispatch
point, not only after a frame wait.
Adds a `test helpers` case that pins the contract: a `setImmediate` sentinel
stands in for the pending effect flush and must have run by the time
`waitUntil` resolves. Verified it fails when the yield is removed, so a future
regression surfaces here instead of as a differently-named flaky OAuth test
under coverage instrumentation.
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-16 12:15:41 -04:00
..
helpers
test(cli,tui): typecheck the __tests__ dirs ( #1791 ) ( #1799 )
2026-07-27 12:05:35 -04:00
App.test.tsx
test(tui): settle input handlers at the keypress sites too, and pin the contract
2026-08-16 12:15:41 -04:00
AuthTab.test.tsx
test(cli,tui): typecheck the __tests__ dirs ( #1791 ) ( #1799 )
2026-07-27 12:05:35 -04:00
DetailsModal.test.tsx
test(tui): extend coverage gate to Ink components + App.tsx ( closes #1501 ) ( #1538 )
2026-06-29 08:19:12 -04:00
HistoryTab.test.tsx
test(cli,tui): typecheck the __tests__ dirs ( #1791 ) ( #1799 )
2026-07-27 12:05:35 -04:00
InfoTab.test.tsx
chore: close quality-gate coverage gaps ( #1689 ) ( #1766 )
2026-07-24 17:20:12 -04:00
logger.test.ts
test: raise per-file coverage gate to 90 across all clients ( closes #1271 ) ( #1532 )
2026-06-27 15:26:03 -04:00
NotificationsTab.test.tsx
Fixed tab naming to correspond to the web client. ( #1780 )
2026-07-25 20:11:52 -04:00
oauthDisplay.test.ts
Guided-auth removal, OAuth smoke testing, and TUI/CLI support ( #1531 )
2026-06-29 15:35:51 -04:00
openUrl.test.ts
test(cli,tui): add in-process source coverage gates ( #1484 ) ( #1502 )
2026-06-20 15:05:58 -04:00
promptArgsToForm.test.ts
test(cli,tui): add in-process source coverage gates ( #1484 ) ( #1502 )
2026-06-20 15:05:58 -04:00
PromptsTab.test.tsx
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
PromptTestModal.test.tsx
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
RequestsTab.test.tsx
Fixed tab naming to correspond to the web client. ( #1780 )
2026-07-25 20:11:52 -04:00
ResourcesTab.test.tsx
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
ResourceTestModal.test.tsx
All of the mid-session and step-up auth work
2026-07-02 16:35:31 -07:00
schemaToForm.test.ts
chore: close quality-gate coverage gaps ( #1689 ) ( #1766 )
2026-07-24 17:20:12 -04:00
SelectableItem.test.tsx
test(tui): extend coverage gate to Ink components + App.tsx ( closes #1501 ) ( #1538 )
2026-06-29 08:19:12 -04:00
setup.ts
test(tui): extend coverage gate to Ink components + App.tsx ( closes #1501 ) ( #1538 )
2026-06-29 08:19:12 -04:00
Tabs.test.tsx
Fixed tab naming to correspond to the web client. ( #1780 )
2026-07-25 20:11:52 -04:00
ToolsTab.test.tsx
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
ToolTestModal.test.tsx
SDK v2 migration (behavior-neutral, versionNegotiation: 'legacy') ( #1624 )
2026-07-15 10:44:24 -04:00
tsupConfig.test.ts
fix(tui): widen the root react range so an external ink can't split React
2026-08-12 00:21:43 -04:00
tui-servers.test.ts
Guided-auth removal, OAuth smoke testing, and TUI/CLI support ( #1531 )
2026-06-29 15:35:51 -04:00
tui.test.ts
Fixed tab naming to correspond to the web client. ( #1780 )
2026-07-25 20:11:52 -04:00
tuiOAuth.test.ts
test(cli,tui): typecheck the __tests__ dirs ( #1791 ) ( #1799 )
2026-07-27 12:05:35 -04:00
uriTemplateToForm.test.ts
test(cli,tui): add in-process source coverage gates ( #1484 ) ( #1502 )
2026-06-20 15:05:58 -04:00
useSelectableList.test.tsx
test(tui): extend coverage gate to Ink components + App.tsx ( closes #1501 ) ( #1538 )
2026-06-29 08:19:12 -04:00