Skip to content

[Testing] Additional Feature Matrix Test Cases for ScrollView#32617

Merged
StephaneDelcroix merged 7 commits intodotnet:inflight/currentfrom
LogishaSelvarajSF4525:logi-resize-scrollview
Dec 2, 2025
Merged

[Testing] Additional Feature Matrix Test Cases for ScrollView#32617
StephaneDelcroix merged 7 commits intodotnet:inflight/currentfrom
LogishaSelvarajSF4525:logi-resize-scrollview

Conversation

@LogishaSelvarajSF4525
Copy link
Contributor

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

@dotnet-policy-service dotnet-policy-service bot added community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration labels Nov 14, 2025
@sheiksyedm sheiksyedm added the area-testing Unit tests, device tests label Nov 14, 2025
@sheiksyedm
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@sheiksyedm
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@sheiksyedm
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@LogishaSelvarajSF4525 LogishaSelvarajSF4525 marked this pull request as ready for review November 24, 2025 05:56
Copilot AI review requested due to automatic review settings November 24, 2025 05:56
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 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

Comment on lines +44 to +45
App.WaitForElement("ScrollViewWithLayoutOptionsButton");
App.Tap("ScrollViewWithLayoutOptionsButton");
Copy link

Copilot AI Nov 24, 2025

Choose a reason for hiding this comment

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

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.

Copilot generated this review using guidance from repository custom instructions.
using System.ComponentModel;
using System.Runtime.CompilerServices;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Layouts;
Copy link

Copilot AI Nov 24, 2025

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
}
}

public int LabelCount
Copy link

Copilot AI Nov 24, 2025

Choose a reason for hiding this comment

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

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.

Copilot generated this review using guidance from repository custom instructions.
using System.Runtime.CompilerServices;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Layouts;

Copy link

Copilot AI Nov 24, 2025

Choose a reason for hiding this comment

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

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.

Copilot generated this review using guidance from repository custom instructions.
}
}

public int ColumnCount
Copy link

Copilot AI Nov 24, 2025

Choose a reason for hiding this comment

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

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.

Copilot generated this review using guidance from repository custom instructions.
@sheiksyedm
Copy link
Contributor

/rebase

@github-actions github-actions bot force-pushed the logi-resize-scrollview branch from ec125fa to c03f4d0 Compare November 24, 2025 06:14
@sheiksyedm
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@StephaneDelcroix StephaneDelcroix changed the base branch from main to inflight/current December 2, 2025 15:46
@StephaneDelcroix StephaneDelcroix merged commit ff508b1 into dotnet:inflight/current Dec 2, 2025
157 of 163 checks passed
PureWeen pushed a commit that referenced this pull request Dec 3, 2025
* 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
PureWeen pushed a commit that referenced this pull request Dec 3, 2025
* 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
PureWeen pushed a commit that referenced this pull request Dec 3, 2025
* 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
PureWeen pushed a commit that referenced this pull request Dec 3, 2025
* 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
PureWeen pushed a commit that referenced this pull request Dec 3, 2025
* 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
github-actions bot pushed a commit that referenced this pull request Dec 5, 2025
* 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
@github-actions github-actions bot locked and limited conversation to collaborators Jan 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-testing Unit tests, device tests community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants