Skip to content

[Testing] Feature matrix UITest Cases for ScrollView Control (#30188)#30991

Merged
rmarinho merged 7 commits intonet10.0from
with_scrollview_tests
Aug 13, 2025
Merged

[Testing] Feature matrix UITest Cases for ScrollView Control (#30188)#30991
rmarinho merged 7 commits intonet10.0from
with_scrollview_tests

Conversation

@PureWeen
Copy link
Member

@PureWeen PureWeen commented Aug 2, 2025

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.

@PureWeen
Copy link
Member Author

PureWeen commented Aug 2, 2025

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@PureWeen PureWeen force-pushed the with_scrollview_tests branch from 0786bc0 to 99d384d Compare August 7, 2025 18:17
@PureWeen PureWeen marked this pull request as ready for review August 7, 2025 18:51
Copilot AI review requested due to automatic review settings August 7, 2025 18:51
@PureWeen PureWeen requested a review from a team as a code owner August 7, 2025 18:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)]
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an extra space before the comma in the Test attribute. It should be [Test, Order(43)] for consistency with other test declarations.

Copilot uses AI. Check for mistakes.
VerifyScreenshot();
}

[Test , Order(44)]
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an extra space before the comma in the Test attribute. It should be [Test, Order(44)] for consistency with other test declarations.

Copilot uses AI. Check for mistakes.
}
#endif

[Test]
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent indentation - this line uses spaces instead of tabs. Should use tabs for consistency with the rest of the file.

Copilot uses AI. Check for mistakes.
{
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"
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space around the equals sign. Should be AutomationId = "Editor1" for consistency with other AutomationId assignments in the file.

Copilot uses AI. Check for mistakes.
{
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"
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space around the equals sign. Should be AutomationId = "Editor2" for consistency with other AutomationId assignments in the file.

Copilot uses AI. Check for mistakes.
{
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"
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space around the equals sign. Should be AutomationId = "Editor3" for consistency with other AutomationId assignments in the file.

Copilot uses AI. Check for mistakes.
{
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"
Copy link

Copilot AI Aug 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing space around the equals sign. Should be AutomationId = "Editor4" for consistency with other AutomationId assignments in the file.

Copilot uses AI. Check for mistakes.
@PureWeen
Copy link
Member Author

/rebase

@github-actions github-actions bot force-pushed the with_scrollview_tests branch from 9e0b440 to 86565e3 Compare August 11, 2025 14:28
@rmarinho rmarinho merged commit 2b13a90 into net10.0 Aug 13, 2025
127 of 129 checks passed
@rmarinho rmarinho deleted the with_scrollview_tests branch August 13, 2025 15:25
@github-actions github-actions bot locked and limited conversation to collaborators Sep 13, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants