Adds a 9th assertion that drives widget.render(ctx) with a stub ctx shaped per lib-core.panel's widget-lifecycle contract (bounds, theme with packed-RGBA colours and font_size_body, is_focused) and verifies the widget populates _render_rows correctly. Catches future drift between this widget and the panel API. engine.render.draw_text is registered but errors in test_mode (no OpenGL context); the assertion stubs it for the duration of the render call so the layout pass runs to completion without coupling to the rendering backend. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 KiB
12 KiB