[Testing] Additional Feature Matrix Test Cases for ScrollView#32617
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
9b18262 to
049bae8
Compare
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive test coverage for ScrollView dynamic layout behavior validation. The tests ensure that layouts correctly resize when children are added or removed at runtime, and that ScrollView updates its size accordingly to reflect content changes. The test coverage includes scenarios across multiple layout types and has been validated on all supported platforms.
Reviewed changes
Copilot reviewed 16 out of 172 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| VerifyLayoutWithOrientationVertical_VerticalOptionsStartWithHeightRequest.png | New iOS snapshot for vertical layout test with height request |
| VerifyLayoutWithOrientationVertical_VerticalOptionsStart.png | New iOS snapshot for vertical layout test |
| VerifyVerticalStackLayoutResizesCorrectly_AfterAddingAndRemovingChildren.png | New Windows snapshot for vertical stack layout resize test |
| VerifyHorizontalStackLayoutResizesCorrectly_AfterAddingAndRemovingChildren.png | New Windows snapshot for horizontal stack layout resize test |
| ScrollViewWithLayoutOptionsFeatureTests.cs | Added button tap interactions before existing test steps |
| LayoutViewModel.cs | Added new properties: FlexDirection, LabelCount, RowCount, ColumnCount with INotifyPropertyChanged implementation |
| CorePageView.cs | Changed page factory from LayoutControlPage to LayoutFeaturePage |
| App.WaitForElement("ScrollViewWithLayoutOptionsButton"); | ||
| App.Tap("ScrollViewWithLayoutOptionsButton"); |
There was a problem hiding this comment.
The test adds navigation steps (wait for button, tap button) before the existing test logic. However, this pattern is only applied to one test method (VerifyLayoutWithOrientationVertical_HorizontalOptionsStart). If this navigation is required for this test, it should likely be applied to all test methods in this test class, or moved to a setup method to avoid duplication. The lack of this pattern in other tests suggests incomplete coverage or inconsistent test setup.
| using System.ComponentModel; | ||
| using System.Runtime.CompilerServices; | ||
| using Microsoft.Maui.Controls; | ||
| using Microsoft.Maui.Layouts; |
There was a problem hiding this comment.
The using Microsoft.Maui.Layouts; directive is added but only used for the FlexDirection type. While this is valid, ensure that FlexDirection is actually needed in the ViewModel. If this property is not bound or used in the view layer corresponding to this ViewModel, it may indicate unused code that should be removed.
| } | ||
| } | ||
|
|
||
| public int LabelCount |
There was a problem hiding this comment.
Four new properties (LabelCount, RowCount, ColumnCount, FlexDirection) are added to the ViewModel with full INotifyPropertyChanged implementation, but there is no corresponding test coverage visible in the test file changes. If these properties are used to support dynamic layout resizing behavior mentioned in the PR description, there should be tests that verify the layout correctly responds to changes in these property values.
| using System.Runtime.CompilerServices; | ||
| using Microsoft.Maui.Controls; | ||
| using Microsoft.Maui.Layouts; | ||
|
|
There was a problem hiding this comment.
Four new properties (LabelCount, RowCount, ColumnCount, FlexDirection) are added to the ViewModel with full INotifyPropertyChanged implementation, but there is no corresponding test coverage visible in the test file changes. If these properties are used to support dynamic layout resizing behavior mentioned in the PR description, there should be tests that verify the layout correctly responds to changes in these property values.
| } | ||
| } | ||
|
|
||
| public int ColumnCount |
There was a problem hiding this comment.
Four new properties (LabelCount, RowCount, ColumnCount, FlexDirection) are added to the ViewModel with full INotifyPropertyChanged implementation, but there is no corresponding test coverage visible in the test file changes. If these properties are used to support dynamic layout resizing behavior mentioned in the PR description, there should be tests that verify the layout correctly responds to changes in these property values.
|
/rebase |
ec125fa to
c03f4d0
Compare
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
ff508b1
into
dotnet:inflight/current
* updated scrollview resize coverage * updated test string * updated scrollview resize coverage * added base image for windows platform * remove the snapshot * removed images for mac and android * added snapshot from CI
* updated scrollview resize coverage * updated test string * updated scrollview resize coverage * added base image for windows platform * remove the snapshot * removed images for mac and android * added snapshot from CI
* updated scrollview resize coverage * updated test string * updated scrollview resize coverage * added base image for windows platform * remove the snapshot * removed images for mac and android * added snapshot from CI
* updated scrollview resize coverage * updated test string * updated scrollview resize coverage * added base image for windows platform * remove the snapshot * removed images for mac and android * added snapshot from CI
* updated scrollview resize coverage * updated test string * updated scrollview resize coverage * added base image for windows platform * remove the snapshot * removed images for mac and android * added snapshot from CI
* updated scrollview resize coverage * updated test string * updated scrollview resize coverage * added base image for windows platform * remove the snapshot * removed images for mac and android * added snapshot from CI
This PR includes a comprehensive set of test cases for validating dynamic layout behavior within a ScrollView. The tests ensure that layouts correctly resize when children are added or removed at runtime, and that the ScrollView updates its size accordingly to reflect these content changes. The test coverage includes scenarios across multiple layout types and has been validated on all supported platforms.
Related Issue
Fixes #32260