flutter/examples/api/test/material
Bruno Leroux 6a7baf573e
Fix M3 text field height + initial step for input decorator M3 test migration (#142981)
## Description

This PR main purpose is to make progress on the M3 test migration for `InputDecorator` (see https://github.com/flutter/flutter/issues/139076).

Before this PR more than 80 of the 156 tests defined in `input_decorator_test.dart` fail on M3.
Migrating all those tests in one shot is not easy at all because many failures are related to wrong positionning due to M3 typography changes. Another reason is that several M3 specific changes are required in order to get a proper M3 compliant text field, for instance:
- https://github.com/flutter/flutter/issues/142972
- https://github.com/flutter/flutter/issues/141354

Most of the tests were relying on an helper function (`buildInputDecorator`) which had a `useMaterial3` parameter. Unfortunately when `useMaterial3: true `was passed to this function it forced `useMaterial3: false` at the top level but overrided it at a lower level, which was very misleading because people could assume that the tests are ok with M3 (but in fact they were run using M2 typography but have some M3 logic in use).
I considered various way to make this change and I finally decided to run all existing tests only on M2 for the moment. Next step will be to move most of those tests to M3. In this PR, I migrated two of these existing tests for illustration.

Because many of the existing tests are checking input decorator height, I think it would also make sense to fix https://github.com/flutter/flutter/issues/142972 first. That's why I choosed to include a fix to https://github.com/flutter/flutter/issues/142972 in this PR.

A M3 filled `TextField` on Android:

| Before this PR | After this PR |
|--------|--------|
| ![image](https://github.com/flutter/flutter/assets/840911/403225b7-4c91-4aee-b19c-0490447ae7e3) | ![image](https://github.com/flutter/flutter/assets/840911/e96cf786-a9f5-4e15-bcdd-078350ff1608) | 

## Related Issue

Fixes https://github.com/flutter/flutter/issues/142972
Related to https://github.com/flutter/flutter/issues/139076

## Tests

Updates many existing tests 
+ adds 2 tests related to the fix for https://github.com/flutter/flutter/issues/142972
+ adds 1 tests for the M3 migration
+ move 1 tests related to M3
2024-02-07 13:57:21 +00:00
..
action_buttons Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
action_chip Update Chips examples and rename files (#108538) 2022-07-29 07:17:06 +00:00
animated_icon Move AnimatedIcons example and fix typo in cupertino/text_selection_toolbar.dart (#113937) 2022-10-25 07:27:06 +00:00
app [Reland] Introduce AnimationStyle (#138721) 2023-11-20 15:24:41 -08:00
app_bar Renamed appbar to app_bar directory in API Examples Tests (#139922) 2023-12-11 22:54:13 +00:00
autocomplete Fix bug in Autocomplete example (#127219) 2023-05-22 16:55:21 +00:00
bottom_navigation_bar Write tests for API examples of BottomNavigationBar and IconButton (#138188) 2023-11-27 17:26:37 +00:00
bottom_sheet Fix Material 3 BottomSheet example (#116112) 2022-11-30 02:08:21 +00:00
card Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
checkbox_list_tile Add Material 3 SwitchListTile example and update existing examples (#119714) 2023-02-06 09:02:37 +00:00
choice_chip Fix typos (#121171) 2023-02-23 19:43:21 +00:00
context_menu Implement SelectionArea single click/tap gestures (#132682) 2023-09-28 01:42:16 +00:00
data_table Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 (#139258) 2023-11-30 20:07:00 +00:00
date_picker Update date picker examples, remove unused variables and add missing tests (#121528) 2023-02-28 08:31:51 +00:00
dialog Adaptive alert dialog (#124336) 2023-04-18 23:00:03 +00:00
divider Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
drawer Add missing example links (#130521) 2023-07-17 18:24:49 +00:00
dropdown Treat hidden IndexedStack children as offstage for test finder (#123129) 2023-03-29 19:58:58 +00:00
dropdown_menu Improve DropdownMenu sample code for requestFocusOnTap on mobile platforms (#134867) 2023-09-18 08:33:14 +00:00
elevated_button Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
expansion_panel Update ExpansionPanel example for the updated expansionCallback callback (#132837) 2023-08-21 20:13:22 +00:00
expansion_tile Add AnimationStyle to ExpansionTile (#139664) 2023-12-06 16:40:24 +00:00
filled_button Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
filter_chip Update Chips examples and rename files (#108538) 2022-07-29 07:17:06 +00:00
floating_action_button Add FAB Additional Color Mappings example (#133453) 2023-08-29 17:31:02 +00:00
icon_button Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 (#139258) 2023-11-30 20:07:00 +00:00
ink Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
ink_well Write Tests for API Examples of cupertino_text_field.0, data_table.0, icon_button.2 & ink_well.0 (#139258) 2023-11-30 20:07:00 +00:00
input_chip Add an example for InputChip generated by user input (#130645) 2023-09-01 00:02:04 +00:00
input_decorator Fix M3 text field height + initial step for input decorator M3 test migration (#142981) 2024-02-07 13:57:21 +00:00
list_tile Updated custom ListTile examples (#128071) 2023-06-01 16:21:42 -07:00
menu_anchor Convert menus to use OverlayPortal (#130534) 2023-10-18 20:13:08 +00:00
navigation_bar Add Badge widget to NavigationBar and NavigationRail examples (#129834) 2023-07-11 09:30:05 +00:00
navigation_drawer Add missing example links (#130521) 2023-07-17 18:24:49 +00:00
navigation_rail Fixed a lot of typos (#141431) 2024-01-12 22:10:25 +00:00
outlined_button Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
page_transitions_theme Remove 1745 decorative breaks (#123259) 2023-03-22 21:12:22 +00:00
paginated_data_table PaginatedDataTable improvements (#131374) 2023-08-15 00:55:07 +00:00
popup_menu [Reland] Introduce AnimationStyle (#138721) 2023-11-20 15:24:41 -08:00
progress_indicator Add Material 3 ProgressIndicator examples (#113950) 2022-10-25 07:27:08 +00:00
radio Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
radio_list_tile Add Material 3 RadioListTile example and update existing examples (#119716) 2023-02-03 16:27:43 +00:00
refresh_indicator Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
reorderable_list Add a ReorderableListView example with cards + cleanup existing tests (#126155) 2023-05-05 16:39:11 +00:00
scaffold [reland] Add AnimationStyle to showSnackBar (#143052) 2024-02-07 10:26:27 +00:00
scrollbar fix a Scrollbar example crash (#127925) 2023-09-08 09:40:49 +00:00
search_anchor make suggestionsBuilder in SearchAnchor asyncable (#127019) 2023-05-24 13:12:47 -07:00
segmented_button Add SegmentedButton.styleFrom (#137542) 2024-01-03 21:26:02 +00:00
slider Add Material 3 Slider example (#115638) 2022-12-01 00:00:19 +00:00
snack_bar Write Tests for API Examples of snack_bar.0, elevated_button.0, stepper.0, radio.0, filled_button.0, outlined_button.0 & card.0 (#138987) 2023-11-28 23:57:10 +00:00
stepper Adds support for StepStyle visual property bundle to the Step widget (#140825) 2024-01-12 16:35:08 +00:00
switch Adaptive Switch (#130425) 2023-11-07 10:26:23 -08:00
switch_list_tile Add Material 3 SwitchListTile example and update existing examples (#119714) 2023-02-06 09:02:37 +00:00
tabs Updated TabBar and ToggleButtons examples (#128088) 2023-06-02 01:05:31 +00:00
text_button Reland: Added ButtonStyle.foregroundBuilder and ButtonStyle.backgroundBuilder (#142762) 2024-02-02 01:48:17 +00:00
text_field Rename Sample classes (#124080) 2023-04-04 20:34:29 +00:00
theme_data Updated the ThemeData API example (#130954) 2023-07-20 13:12:34 -07:00
time_picker Convert TimePicker to Material 3 (#116396) 2022-12-14 00:09:52 +00:00
toggle_buttons Updated TabBar and ToggleButtons examples (#128088) 2023-06-02 01:05:31 +00:00
tooltip Introduce exitDuration to Tooltip for mouse pointer devices (#138321) 2023-12-07 21:20:06 +00:00