Skip to content

[Testing] Feature Matrix UITest Cases for Button #29803

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

Merged

Conversation

TamilarasanSF4853
Copy link
Contributor

@TamilarasanSF4853 TamilarasanSF4853 commented Jun 3, 2025

This PR includes a comprehensive set of UI test cases for the Button control. The tests validate the Button control, including properties such as BorderColor, BorderWidth, CharacterSpacing, Clicked, Command, CommandParameter, CornerRadius, FontAttributes, FontFamily, FontSize, IsEnabled, IsVisible, LineBreakMode, Padding, Pressed, Released, Text, TextColor, and TextTransform.

Button Control Implementation:

  • Added ButtonControlPage to host the Button control, with bindings for properties like Text, BorderColor, BorderWidth, Command, CommandParameter, and event handlers for Clicked, Pressed, and Released events (src/Controls/tests/TestCases.HostApp/FeatureMatrix/Button/ButtonControlPage.xaml).
  • Created a ButtonOptionsPage to allow users to configure Button properties interactively, including BorderColor, BorderWidth, CharacterSpacing, CornerRadius, FontAttributes, FontFamily, FontSize, IsEnabled, IsVisible, LineBreakMode, Padding, Text, TextColor, and TextTransform (src/Controls/tests/TestCases.HostApp/FeatureMatrix/Button/ButtonOptionsPage.xaml).
  • Added event handlers for property changes in ButtonOptionsPage.xaml.cs to update the Button control dynamically through a ViewModel pattern.
  • Implemented a suite of UI tests in ButtonFeatureTests to validate property updates, event handling (Clicked, Pressed, Released), command execution, disabled and visibility states, text transformation, font and LineBreakMode behavior. Included platform-specific conditions for known issues (e.g., CharacterSpacing on iOS and Catalyst). Used VerifyScreenshot() for visual verification across property configurations and platforms.
Screen.Recording.2025-06-04.at.8.54.21.PM.mov

@dotnet-policy-service dotnet-policy-service bot added the community ✨ Community Contribution label Jun 3, 2025
Copy link
Contributor

Hey there @@TamilarasanSF4853! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed.

@dotnet-policy-service dotnet-policy-service bot added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Jun 3, 2025
@anandhan-rajagopal anandhan-rajagopal added the area-testing Unit tests, device tests label Jun 3, 2025
@jsuarezruiz
Copy link
Contributor

/azp run MAUI-UITests-public

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jsuarezruiz
Copy link
Contributor

/azp run MAUI-UITests-public

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@jsuarezruiz jsuarezruiz left a comment

Choose a reason for hiding this comment

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

Pending snapshots on Windows.
image
Could you commit the images? Already available in the latest build.

@TamilarasanSF4853
Copy link
Contributor Author

Pending snapshots on Windows. image Could you commit the images? Already available in the latest build.

@jsuarezruiz I've committed the snapshot images. Could you please re-run the CI?

@jsuarezruiz
Copy link
Contributor

/azp run MAUI-UITests-public

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@TamilarasanSF4853 TamilarasanSF4853 marked this pull request as ready for review June 10, 2025 14:43
@TamilarasanSF4853 TamilarasanSF4853 requested a review from a team as a code owner June 10, 2025 14:43
@anandhan-rajagopal anandhan-rajagopal added the area-controls-button Button, ImageButton label Jun 12, 2025
@PureWeen PureWeen changed the base branch from main to inflight/current June 13, 2025 12:08
@PureWeen PureWeen merged commit e77a2fc into dotnet:inflight/current Jun 13, 2025
78 checks passed
github-actions bot pushed a commit that referenced this pull request Jun 16, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
PureWeen pushed a commit that referenced this pull request Jun 21, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
PureWeen pushed a commit that referenced this pull request Jun 25, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
PureWeen pushed a commit that referenced this pull request Jun 25, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
github-actions bot pushed a commit that referenced this pull request Jun 26, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
github-actions bot pushed a commit that referenced this pull request Jun 26, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
PureWeen pushed a commit that referenced this pull request Jun 27, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
github-actions bot pushed a commit that referenced this pull request Jun 27, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
PureWeen pushed a commit that referenced this pull request Jun 27, 2025
* button test cases added

* added clear text line

* changes

* added test fails condition

* updated test cases

* updated the test cases

* updated test cases

* added additional test cases

* removed test case

* added snapshots

* added the windows and mac snapshots

* removed snapshots

* added additional properties

* added mac and windows snapshots
PureWeen added a commit that referenced this pull request Jun 28, 2025
For more information about inflight process check
https://github.com/dotnet/maui/wiki/Inflight-Branch-Process

# .NET MAUI Release Notes - Inflight/Candidate Branch

## What's Changed

### MAUI Product Fixes
* [iOS] CarouselView with CarouselViewHandler2 make app crash when
Loop="False" and user scroll to the last position - fixes #26863 by
@kubaflo in #26868
* Fixes Setting BackgroundColor to null does not actually changes
BackgroundColor - fixes #22914 and #19576 by @jgonzalez-gft in
#22917
* Fixed the picker title's color - fixes #16737 by @kubaflo in
#23075
* [android] Fallback to default icons in SearchHandler by @aheubusch in
#25067
* ScrollView's Background on iOS - fixes #24016 by @kubaflo in
#25541
* [iOS] Enabled MultiTouch Support for Handling Multi-Touch Points in
GraphicsView - fixes #29461 by @prakashKannanSf3972 in
#29895
* Optimize converters for GridLength, ColumnDefinition, and
RowDefinition - performance improvement by @emiller in
#20048
* Add defensive IsAlive check to Android ViewExtensions.OnUnloaded -
fixes #28051 by @jfversluis in #29934
* [Windows] Fixed runtime update issue for SearchBar PlaceholderColor
and BackgroundColor - fixes #29962 by @Tamilarasan-Paranthaman in
#29965
* Weak subscription to CanExecuteChange events - fixes #16124 by
@sneumaier in #29837
* [iOS, Mac] Fix for downsized image retaining original dimensions in
GraphicsView - fixes #30006 by @SyedAbdulAzeemSF4852 in
#30007
* [Android] Prevent Picker from Gaining Focus on Touch - fixes #19739,
#8546, #13503, #24862, #28121, #21704, #15394 by @bhavanesh2001 in
#29068
* Fix CV1 GridItemsLayout centering single item AND Fix Empty view not
resizing when bounds change - fixes #29595, #29634 by @albyrock87 in
#29639

### Testing
* [Testing] Feature Matrix UITest Cases for Button by @TamilarasanSF4853
in #29803
* [Testing] Feature matrix UITest Cases for BoxView Control by
@HarishKumarSF4517 in #29808
* [Testing] Enable HandlerDoesNotLeak for Button and ProgressBar by
@bhavanesh2001 in #29896
* [Testing] Add Validation Test For Issue28051 On Android by
@prakashKannanSf3972 in #30026
* [Testing] Fixed Test case failure in PR 30115 - [2025/06/23] Candidate
by @HarishKumarSF4517 in #30136

### Dependency Updates
* Bump to 1.7.250606001 of WindowsAppSDK by @sneumaier in
#29915

### Housekeeping
* [housekeeping] Update namespaces in HostApp and Shared tests projects
by @bhavanesh2001 in #29904
* Update SetterSpecificity.cs Remove Extra Line From Bad Merge by
@sneumaier in #29987
* Revert - Fixed the Label not sized correctly on Android by @Ahamed-Ali
in #30023
* Revert "Fixes Setting BackgroundColor to null does not actually
changes BackgroundColor #22914 (#22917)" by @mattleibow in
#30031
* [create-pull-request] automated change by @github-actions[bot] in
#30019
* [create-pull-request] automated change by @github-actions[bot] in
#30043
* [create-pull-request] automated change by @github-actions[bot] in
#30078
* Update Controls.TestCases.HostApp.csproj by @HarishKumarSF4517 in
#30124

## New Contributors
* @albyrock87 made their first contribution in
#29639
* @SyedAbdulAzeemSF4852 made their first contribution in
#30007
* @emiller made their first contribution in
#20048
* @jgonzalez-gft made their first contribution in
#22917
* @aheubusch made their first contribution in
#25067

**Full Changelog**:
https://github.com/dotnet/maui/compare/main..inflight/candidate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-controls-button Button, ImageButton 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