Repository navigation
test: recording drawing context and DataGridRenderer command tests (#26) - #135
Conversation
RecordingDrawingContext records every IDrawingContext call with its viewport geometry, copied paint, z-order and the clip in effect; RenderHarness wires it to a four-column grid whose style colours are all distinct. 79 renderer tests (96 cases) cover every Draw* method: frame and Save/Restore balance, header, rows and styles, cell renderers, grid lines, current-cell border, sort and filter icons, the three column passes and their clips, frozen rows, the drag-handle column, the grouping panel, group header and summary rows, table summaries, column and row drag overlays, the editor and popups. DataGridRenderer line coverage is 99.7%. CORE-03 (#22) and CORE-25 (#27) are pinned as skipped tests that fail today and are un-skipped by their fixes. Dead private DrawFrozenBackground and the unused ColumnScreenX(bool) overload are removed; GridRect gets a readable ToString. The testing instructions now describe the helpers that exist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
…-floats, cs/loss-of-precision) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes #26.
What
RecordingDrawingContext(tests/KumikoUI.Core.Tests/TestHelpers): records everyIDrawingContextcall as aDrawOp: kind, viewport geometry (translations applied), copied paint, call index (z-order), and the intersected clip in effect.DrawOp.Visibleis what the clip lets reach the screen. Text measures monospace (8 px per char, 14 px tall). It also tracks Save/Restore balance.RenderHarness: a four-column grid of people wired toDataGridRenderer. EveryGridColoron the style gets a distinct value, so a recorded colour identifies its style role.tests/KumikoUI.Core.Tests/Rendering/, covering everyDraw*method:DataGridRendererline coverage: 99.7% (branches 92.9%). The 3 lines left are the CORE-03 bug line, an unreachable group-row guard in frozen rows, and a catch block.Known defects pinned (acceptance criterion: CORE-03/CORE-25 caught)
Three
[Fact(Skip = "…, fixed by #NN")]tests. I checked that each one fails on current code when un-skipped:CellStyle, so row P01 turns red.Each fix should remove its
Skip.Source changes
DrawFrozenBackgroundand the unusedColumnScreenX(bool)overload. No behaviour change.GridRect.ToString()now returnsGridRect(x, y, w, h)(invariant culture), so assertion failures are readable..github/instructions/testing.instructions.md: the section describing aFakeDrawingContextthat never existed now describesRecordingDrawingContext/RenderHarness(TEST-09; the full rewrite stays in Internal docs regenerated from code: ARCHITECTURE, RENDERING, Copilot instructions and prompts, testing instructions, Uno instructions; docs/uno becomes a user guide #96).PinnedBottomSummaryTestsadapted to the recorder's richer API.Verification
🤖 Generated with Claude Code