-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[Testing] Feature Matrix UITest Cases for Stepper #29731
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Testing] Feature Matrix UITest Cases for Stepper #29731
Conversation
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
cb86b6b
to
fa8f3b0
Compare
fa8f3b0
to
d69ad2a
Compare
There was a problem hiding this 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 a UI testing scenario for the Stepper control by introducing feature matrix pages, a view model, and a suite of UI tests to validate Stepper behavior.
- Implements
StepperControlPage
,StepperFeaturePage
, andStepperViewModel
for interactive configuration of Stepper properties. - Registers the new feature matrix in
CorePageView
. - Adds
StepperFeatureTests
with coverage for defaults, boundaries, increments, and visual states.
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/StepperFeatureTests.cs | New UI tests validating Stepper control properties and states |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperViewModel.cs | ViewModel implementing INotifyPropertyChanged for Stepper |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperFeaturePage.xaml(.cs) | Page for configuring Stepper properties at runtime |
src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperControlPage.xaml(.cs) | Hosts the Stepper control and navigates to the options page |
src/Controls/tests/TestCases.HostApp/CoreViews/CorePageView.cs | Registers “Stepper Feature Matrix” in the gallery |
Comments suppressed due to low confidence (4)
src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperControlPage.xaml:5
- [nitpick] The XAML file is named
StepperControlPage.xaml
but declaresx:Class="StepperControlMainPage"
. Consider renaming the file or the class so file and class names match for clarity.
x:Class="Maui.Controls.Sample.StepperControlMainPage"
src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperViewModel.cs:62
- The code uses
EqualityComparer<T>
but does not importSystem.Collections.Generic
. Addusing System.Collections.Generic;
to resolve the missing type error.
if (EqualityComparer<T>.Default.Equals(backingStore, value))
src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/StepperFeatureTests.cs:107
- The conditional compilation uses
&&
between platform flags, meaning all flags must be defined to exclude these tests. It likely should use||
so tests are excluded on any failing platform.
#if TEST_FAILS_ON_ANDROID && TEST_FAILS_ON_CATALYST && TEST_FAILS_ON_IOS && TEST_FAILS_ON_WINDOWS
src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/StepperFeatureTests.cs:174
- This
#if
uses&&
but should likely use||
so the test is excluded when running on either iOS or Catalyst.
#if TEST_FAILS_ON_IOS && TEST_FAILS_ON_CATALYST
/azp run MAUI-UITests-public |
Azure Pipelines successfully started running 1 pipeline(s). |
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
For more information about inflight process check https://github.com/dotnet/maui/wiki/Inflight-Branch-Process # .NET MAUI Release Notes - inflight/candidate Branch ## MAUI Product Fixes * [iOS] Fix SwipeView programmatic open when background color is set by @Shalini-Ashokan in #29765 * [iOS] FormattedText with text color causes stack overflow - fix by @kubaflo in #29874 * [iOS] Fix AdaptiveTrigger not working as expected by @jsuarezruiz in #20987 * [iOS] Fix for Flyout title is not broken over multiple lines when you rotate your screen by @BagavathiPerumal in #29171 * [Windows] Fix for Assigning null to the SelectedItem of the CollectionView in the SelectionChanged event does not clear the selection by @SyedAbdulAzeemSF4852 in #29288 * Fix TapCoordinates method in Catalyst by @jsuarezruiz in #29775 * Fixed ItemSpacing on CarouselView resizes items [Android] by @Dhivya-SF4094 in #29796 * Perf : ButtonContentTypeConverter now using InvariantCulture to parse double by @antoine-jonathan in #25393 * ToolbarItem behavior with ImageSource iOS - fix by @kubaflo in #28833 * [Android] Fixed Button Shadow Color Transparency Not Applied Correctly by @NanthiniMahalingam in #29371 * Don't call NSAttributedString with HTML from a background thread by @kubaflo in #26153 * [Windows] Implemented the Resize and Downsize functions in the W2DImage class by @HarishwaranVijayakumar in #29138 * Templated indicator view - improvements by @kubaflo in #25642 * Update Issue25946.xaml by @anandhan-rajagopal in #30025 ## Testing * Fixed Test case failure in PR 26153 - iOS by @kubaflo in #29906 * Fixed Test case failure in PR 25642 - snapshots by @kubaflo in #29881 * [Testing] Feature Matrix UITest Cases for RadioButton by @TamilarasanSF4853 in #29744 * [Testing] Feature Matrix UITest Cases for CollectionView ItemsSource Feature by @LogishaSelvarajSF4525 in #29322 * [Testing] Feature Matrix UITest Cases for Stepper by @nivetha-nagalingam in #29731 * [Testing] Feature Matrix UITest Cases for CheckBox Control by @anandhan-rajagopal in #29739 * Update the comment for the test properties by @mattleibow in #27306 ## Dependency Updates * No changes in this category ## Docs * No changes in this category ## Housekeeping * [create-pull-request] automated change by @github-actions[bot] in #29875 * [create-pull-request] automated change by @github-actions[bot] in #29792 * [create-pull-request] automated change by @github-actions[bot] in #29760 **Full Changelog**: origin/main...origin/inflight/candidate
* FeatureMatrix for stepper control * Added the snapshot for windows platform * Updated StepperFeatureTests.cs * Updated StepperControlPage.xaml
This PR includes a comprehensive set of UI test cases for the Stepper control. The tests validate the Stepper Control including properties such as: Maximum, Minimum, Increment, Value, IsEnabled, IsVisible and FlowDirection.
Stepper Control Implementation:
StepperControlPage
andStepperControlMainPage
to host theStepper
control, with bindings for properties likeMinimum
,Maximum
,Increment
, andValue
. (src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperControlPage.xaml
,src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperControlPage.xaml.cs
) [1] [2]StepperFeaturePage
to allow users to configureStepper
properties interactively, includingMinimum
,Maximum
,Increment
,Value
,IsEnabled
, andIsVisible
. (src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperFeaturePage.xaml
,src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperFeaturePage.xaml.cs
) [1] [2]StepperViewModel
class implementingINotifyPropertyChanged
to manage the state and bindings for theStepper
control, including properties likeMinimum
,Maximum
,Increment
,Value
,IsEnabled
, andFlowDirection
. (src/Controls/tests/TestCases.HostApp/FeatureMatrix/Stepper/StepperViewModel.cs
)StepperFeatureTests
to validate the behavior of theStepper
control, including default values, property updates, boundary conditions, and visual states forIsEnabled
andIsVisible
. (src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/StepperFeatureTests.cs
)Identified Issue:
Screen.Recording.2025-05-29.at.6.20.25.PM.mov