Repository navigation
Pin that drawButton paints the button before invoking the callback - #52
Conversation
The box and label are drawn first and the hit test runs last, so a callback that paints (e.g. switching screens) lands on top of the button. Nothing pinned that ordering: moving the hit test ahead of the drawing would leave every other drawButton test green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Self-review rubric (inline review performed in the same session; no independent reviewer was available because adding Copilot as a reviewer failed with
Finding (non-blocking):
The review is clean apart from the one non-blocking observation above. This review comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). drafted by Claude on behalf of Daniel Stephenson |
|
Correction to the self-review above: the in-callback probe is at This comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). drafted by Claude on behalf of Daniel Stephenson |
Summary
Stage B (unit-test expansion) cycle, scoped to
drawButton.test_draw_button_paints_before_invoking_the_callback, is added. It pins the existing order insidedrawButton: the box and label are painted first, andfunction()is invoked last.drawButtontest would stay green.colorBoxwhen the callback runs, and the callback's full-surface fill survives oncedrawButtonreturns.Test plan
python3 -m pytest -q: 63 passed (62 existing + 1 new), headless viaconftest.py's dummy SDL driversgraphik.py, the new test FAILS. Withgraphik.pyrestored, it PASSES.Testworkflow green on 3.9–3.13Deferred issues
All four open issues were deliberately skipped, because each needs a maintainer decision or touches a path excluded from autonomous change:
.github/workflows/, which is excluded from autonomous change.preponderous.*namespace convention used by sibling projects.No tracking issue: the coverage gap was found during this cycle's test-expansion sweep.
This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).
🤖 Generated with Claude Code
drafted by Claude on behalf of Daniel Stephenson