fix: add missing .borders(Borders.ALL) to restore TUI pane borders#24280
fix: add missing .borders(Borders.ALL) to restore TUI pane borders#24280gnodet wants to merge 3 commits into
Conversation
Add 8 new test files with 161 test methods covering the TUI module's core utilities and parsers: ShellPanel (convertRow, encodeKeyEvent, convertAttrToStyle), FuzzyFilter, StatusParser, TuiHelper, LoadAvg, MonitorContext, SearchHighlighter, and CamelMonitor parseKey. Widen three methods in ShellPanel from private to package-private (convertRow, encodeKeyEvent, convertAttrToStyle) to enable direct unit testing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 4 new test files with 59 test methods that render tab widgets into a virtual terminal buffer using TamboUI's Frame.forTesting(Buffer) and inspect the rendered cell content, styles, and colors. - HealthTabRenderTest (13 tests): health check table rendering, UP/DOWN status colors, filter toggle, header columns, footer hints - RoutesTabRenderTest (17 tests): route table rendering, Started/Stopped colors, failed count highlighting, top mode toggle, processors section - ErrorsTabRenderTest (15 tests): error table rendering, handled/unhandled colors, exchange ID display, exception name shortening, filter toggle - MonitorContextRenderTest (14 tests): renderNoSelection prompt, hint system, rightCell/centerCell alignment, sort label/style indicators Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TamboUI's Block widget requires both .borderType() and .borders(Borders.ALL) to render border characters. All 131 Block.builder() calls in the TUI module were missing .borders(Borders.ALL), causing no rounded border box-drawing characters (╭╮╰╯│─) to render around any pane. The fix adds .borders(Borders.ALL) to every Block.builder().borderType() call across 36 source files, and includes 17 new rendering tests (BorderRenderTest) that validate border characters appear correctly in the virtual terminal buffer. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
All tested modules (2 modules)
|
davsclaus
left a comment
There was a problem hiding this comment.
Clean mechanical fix — all 130 .borderType(BorderType.ROUNDED) call sites now consistently include .borders(Borders.ALL), and the 17 new BorderRenderTest tests verify border characters render correctly in the virtual terminal buffer.
Note: this PR stacks on #24279 (first 2 commits are shared). Merging #24279 first will reduce this PR's diff to just the borders fix.
CI is green, no issues found.
This review was generated by an AI agent and may contain inaccuracies. Please verify all suggestions before applying.
Summary
Claude Code on behalf of forgebot
Fixes missing pane borders in the TUI dashboard. TamboUI's
Blockwidget requires both.borderType()and.borders(Borders.ALL)to render border characters. All 131Block.builder()calls across the TUI module were missing.borders(Borders.ALL), causing no rounded border box-drawing characters (╭╮╰╯│─) to render around any pane.Before (no borders):
After (borders restored):
Changes
.borders(Borders.ALL)after every.borderType(BorderType.ROUNDED)call and addedimport dev.tamboui.widgets.block.BordersBorderRenderTest.java): 17 rendering tests that render tabs into a virtual terminal buffer viaFrame.forTesting(Buffer)and verify border characters appear at the correct positionsTest Coverage (BorderRenderTest — 17 tests)
BorderType.ROUNDEDcharacters match expected Unicode codepoints╭/╮on same row,╰/╯on same rowTest plan
╭╮╰╯│─) in the virtual terminal buffermvn formatter:format impsort:sort🤖 Generated with Claude Code