[Testing] Feature matrix UITest Cases for ScrollView Control (#30188)#30991
[Testing] Feature matrix UITest Cases for ScrollView Control (#30188)#30991
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
0786bc0 to
99d384d
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a comprehensive UI test matrix for the ScrollView control in .NET MAUI to validate behavior against net10.0 changes. The implementation follows the standard feature matrix testing pattern used throughout the project.
Key Changes
- Adds comprehensive ScrollView feature matrix tests covering various content types, orientations, and scroll behaviors
- Implements platform-specific test exclusions for known issues on different platforms
- Creates supporting infrastructure including ViewModel and UI pages for test configuration
Reviewed Changes
Copilot reviewed 9 out of 160 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
src/Core/src/Platform/iOS/MauiScrollView.cs |
Implements content size clamping based on scroll orientation to prevent unwanted scrolling |
src/Core/src/Handlers/ContentView/ContentViewHandler.iOS.cs |
Adds ancestor measure invalidation after content view updates |
src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/ScrollViewFeatureTests.cs |
Comprehensive test suite with 1300+ lines covering ScrollView features across platforms |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/ScrollView/ScrollViewViewModel.cs |
ViewModel for test configuration with scroll position tracking and content management |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/ScrollView/ScrollViewOptionsPage.xaml.cs |
Options page code-behind handling test configuration UI interactions |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/ScrollView/ScrollViewOptionsPage.xaml |
XAML configuration UI for selecting test options and content types |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/ScrollView/ScrollViewControlPage.xaml.cs |
Main test page code-behind with scroll event handling and navigation |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/ScrollView/ScrollViewControlPage.xaml |
Main test page XAML with ScrollView control and status displays |
src/Controls/tests/TestCases.HostApp/CoreViews/CorePageView.cs |
Registers ScrollView Feature Matrix in the gallery navigation |
Comments suppressed due to low confidence (1)
| VerifyScreenshot(); | ||
| } | ||
|
|
||
| [Test , Order(43)] |
There was a problem hiding this comment.
There is an extra space before the comma in the Test attribute. It should be [Test, Order(43)] for consistency with other test declarations.
| VerifyScreenshot(); | ||
| } | ||
|
|
||
| [Test , Order(44)] |
There was a problem hiding this comment.
There is an extra space before the comma in the Test attribute. It should be [Test, Order(44)] for consistency with other test declarations.
| } | ||
| #endif | ||
|
|
||
| [Test] |
There was a problem hiding this comment.
Inconsistent indentation - this line uses spaces instead of tabs. Should use tabs for consistency with the rest of the file.
| { | ||
| Text = string.Join(Environment.NewLine, Enumerable.Range(1, 15).Select(i => $"Editor 1: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim, eget facilisis enim nisl nec elit . Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim Eget facilisis enim nisl nec elit Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae. Nullam ac erat at dui laoreet aliquet. Praesent euismod, justo at dictum facilisis, urna erat dictum enim.")), | ||
| HeightRequest = 250, | ||
| AutomationId="Editor1" |
There was a problem hiding this comment.
Missing space around the equals sign. Should be AutomationId = "Editor1" for consistency with other AutomationId assignments in the file.
| { | ||
| Text = string.Join(Environment.NewLine, Enumerable.Range(1, 15).Select(i => $"Editor 2: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim, eget facilisis enim nisl nec elit . Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim Eget facilisis enim nisl nec elit Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae. Nullam ac erat at dui laoreet aliquet. Praesent euismod, justo at dictum facilisis, urna erat dictum enim.")), | ||
| HeightRequest = 250, | ||
| AutomationId="Editor2" |
There was a problem hiding this comment.
Missing space around the equals sign. Should be AutomationId = "Editor2" for consistency with other AutomationId assignments in the file.
| { | ||
| Text = string.Join(Environment.NewLine, Enumerable.Range(1, 15).Select(i => $"Editor 3: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim, eget facilisis enim nisl nec elit . Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim Eget facilisis enim nisl nec elit Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae. Nullam ac erat at dui laoreet aliquet. Praesent euismod, justo at dictum facilisis, urna erat dictum enim.")), | ||
| HeightRequest = 250, | ||
| AutomationId="Editor3" |
There was a problem hiding this comment.
Missing space around the equals sign. Should be AutomationId = "Editor3" for consistency with other AutomationId assignments in the file.
| { | ||
| Text = string.Join(Environment.NewLine, Enumerable.Range(1, 15).Select(i => $"Editor 4: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim, eget facilisis enim nisl nec elit . Sed euismod, urna eu tincidunt consectetur, nisi nisl aliquam enim Eget facilisis enim nisl nec elit Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae. Nullam ac erat at dui laoreet aliquet. Praesent euismod, justo at dictum facilisis, urna erat dictum enim.")), | ||
| HeightRequest = 250, | ||
| AutomationId="Editor4" |
There was a problem hiding this comment.
Missing space around the equals sign. Should be AutomationId = "Editor4" for consistency with other AutomationId assignments in the file.
|
/rebase |
* Added Feature Matrix for ScrollView * Updated changes * Changes updated * Modified the test cases * Modified UI * Added snapshots * Added images * Modified Test Case * Added images * Resaved images
9e0b440 to
86565e3
Compare
Description of Change
We checked in a set of ScrollView Matrix tests for NET9 that represented ScrollView behavior on NET9.
We've fixed a lot of issues with ScrollView in NET10 so these images need to be regenerated for the new more correct behavior.
This PR is a cherry-pick of those tests and regenerates all those images. There's one fix to iOS ScrollView that makes it match Android behavior now on NET10. In NET9 SCrollViews appeared to ignore the orientation property and were always scrollable in both directions even if the content > the size of the scrollview.
In NET10 this has been fixed so if you set orientation to Vertical it can only scroll vertical.