dotnet / dotnet/winforms

Add and validate automated SplitContainer continuous-repaint coverage

Open
#14,933 0 comments 0 reactions 0 assignees View on GitHub
area-test coverage rendering-or-artifacts-issues
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.