test(tui): follow the breadcrumb and the block splash mark - #190
Merged
Conversation
#171 replaced the three-section pill row with a breadcrumb, and #151 made the splash mark a scaled block raster. Three test files still asserted the old surface, so seven tests failed on main against code that behaves correctly — the one behavioural assertion in the same file (Esc twice does not quit) passed throughout. - escape-observe-tabs / escape-import-tab: the section is now the left half of a crumb (`Observe > Feed`), so assert `Observe >` rather than `> Observe`, and `Run` rather than `> Run`. - tui-app smoke: the splash mark is drawn in block glyphs whose exact shape varies with the surface, so assert the rail the Run screen always carries. Tests only; no production code touched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Shift+Tab from Run wraps to the LAST Manage sub-tab. That is privacy, not telegram — MANAGE_TABS gained import and privacy after the test was written. The marker matters: a bare "Privacy" also matches the inactive chip in the sub-tab strip, so the assertion carries the active marker. The two-mode LLM panel test asserted RouteCard chrome the panel deliberately drops. ink-testing-library reports no rows, so LlmPanel falls back to the 80x24 surface and picks its compact header — correct code never renders "Active chat route" at that budget. The full/compact split is owned by components/llm-panel.test.tsx, which drives maxRows directly; the smoke test now asserts the two-mode body every budget keeps. Both assertions were checked by ablation: they fail when the behaviour they describe is removed.
Collaborator
Author
|
Pushed two more fixes so this closes out the stale-expectation cleanup completely rather than leaving two behind.
Both were checked by ablation — each fails when the behaviour it describes is removed. Suite on this branch over current main (which now includes #165): 4766 tests, 2 failures, down from 5. The two left are the flaky sidecar FIFO case and the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Seven tests were failing on
mainagainst code that behaves correctly. They assert on a UI surface that two merged PRs replaced.What changed under them
▸ Observe) with a breadcrumb, so the screen now readsObserve ▸ Feed. The section label is the left half of a crumb rather than a standalone pill.█), so the:::glyphs the smoke test looked for no longer appear at any size.Why this is a test fix and not a code fix
The behavioural assertion in the same file —
does not quit when Esc is pressed twice from an Observe tab, which countsquit/abortcallbacks rather than matching text — passed throughout. Esc has been returning to Run correctly the whole time; only the strings moved.The changes
escape-observe-tabs.test.tsx—▸ Observe→Observe ▸,▸ Run→Runescape-import-tab.test.tsx—▸ Manage→Manage ▸,▸ Run→Runtui-app.test.tsx— the splash assertion now checks the rail the Run screen always carries, since the mark's glyphs vary with the surfaceTests only; no production code is touched.
Delta
v0.2.2baseline: 7 failures / 4075 tests. Before this PR: 14 / 4309. After: 5 / 4309.The five that remain were all failing on
v0.2.2too and are out of scope here: twoTuiApp (smoke)cases (Shift+Tabexpects Telegram as the last Manage tab, now Privacy;two-mode LLM panelexpects a heading the panel no longer renders), pluspersistEmbeddingHybridRecall, theSibiliainen CVsearch case, and the sidecar FIFO concurrency test.Esc from an idle Manage panelalso appears intermittently — it passes in isolation and settles ~10ms after the write, under Ink's 20ms flush delay.🤖 Generated with Claude Code