Add and validate automated SplitContainer continuous-repaint coverage
- Dominant language
- C#
- Stars
- 4.9k
- Forks
- 1.1k
- Avg merge
- 20h 23m
- Merged PRs (30d)
- 103
Description
## Objective
Create automated coverage for continuous `SplitContainer` panel repainting in `VisualStylesMode.Net11` and later, then run the coverage locally and in CI.
## Test requirements
- Add focused tests that fail against the regression where practical and pass with the fix.
- Cover both panel orientations and representative splitter movement.
- Cover mouse-driven behavior and keyboard movement where test infrastructure permits.
- Verify mode gating: `Net11` and later receive the new behavior while Classic mode remains correct.
- Cover handle-created and non-handle-created states where relevant.
- Verify final splitter position, layout bounds, invalidation/repaint effects, and event behavior without asserting implementation details unnecessarily.
- Include regression coverage for re-entrant layout/paint behavior and excessive invalidation if the chosen implementation introduces such risk.
- Follow existing WinForms test conventions and avoid timing-fragile assertions.
## Execution
- Run the smallest relevant test set locally during development.
- Run the complete affected test project locally before completion.
- Ensure the tests run in the normal CI build and investigate any environment-specific failures.
- Record the exact local test command and link the successful CI run.
## Completion criteria
- [ ] Regression coverage is present and meaningful.
- [ ] Mode-specific and Classic-mode behavior are covered.
- [ ] Relevant tests pass locally.
- [ ] The affected test project passes locally.
- [ ] CI completes successfully with the new tests enabled.
- [ ] No tests are skipped or disabled merely to meet the schedule.
Contributor guide
Research direction
Locate the existing SplitContainer tests and WinForms test conventions, then identify the coverage entry points for VisualStylesMode.Net11 and Classic. Run the smallest relevant test set first, followed by the complete affected test project; done means meaningful orientation, input, mode, handle, layout, repaint, and event coverage passes locally and in CI without timing-fragile assertions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100