Instead, we are going to reduce the number of test we are running on web, using a similar mechanism to the reduced-test-set tag in flutter/flutter. We can call it something like reduced-web-test-set.
We should only run tests on web that are specifically targeting web behavior or regressions. These test cases can be tagged with reduced-web-test-set. They will run on both web and non-web platforms, whereas tests without that tag will only run on non-web platforms.
Web test audit
Path: packages/material_ui/test/action_chip_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| ActionChip has expected default mouse cursor on hover |
L504 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/back_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| BackButton icon |
L69 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| BackButton has expected default mouse cursor on hover |
L384 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| CloseButton has expected default mouse cursor on hover |
L404 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/checkbox_list_tile_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| CheckboxListTile respects mouseCursor when hovered |
L579 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| Material3 - CheckboxListTile respects overlayColor in active/pressed/hovered states |
L912 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/checkbox_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Checkbox can be toggled by keyboard shortcuts |
L1021 |
kIsWeb Web comment / regression |
Asserts web-specific keyboard interaction: on Web, widgets do not respond to the Enter key. |
| Checkbox changes mouse cursor when hovered |
L1219 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| Checkbox.adaptive respects Checkbox.mouseCursor on iOS/macOS |
L2338 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/chip_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Material3 - Selection with avatar works as expected on RawChip |
L2152 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Material3 - Selection without avatar works as expected on RawChip |
L2314 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Material3 - Activation works as expected on RawChip |
L2451 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| label only |
L2833 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| delete |
L2881 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| with onPressed |
L2945 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| with onSelected |
L2999 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| disabled |
L3122 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| tapEnabled explicitly false |
L3174 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| enabled when tapEnabled and canTap |
L3223 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| disabled when tapEnabled but not canTap |
L3278 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
Path: packages/material_ui/test/choice_chip_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| ChoiceChip has expected default mouse cursor on hover |
L765 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/date_picker_theme_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| DatePickerDialog resolves DatePickerTheme.dayOverlayColor states |
L964 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| DateRangePickerDialog resolves DatePickerTheme.rangeSelectionOverlayColor states |
L1146 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/drawer_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| DrawerButton has expected default mouse cursor on hover |
L293 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| EndDrawerButton has expected default mouse cursor on hover |
L316 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/dropdown_form_field_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| DropdownFormField has expected default mouse cursor on hover |
L1466 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/dropdown_menu_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| DropdownMenuEntries do not overflow when width is specified |
L2980 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| DropdownMenuEntry.labelWidget is Text that specifies maxLines 1 or 2 |
L3023 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| Setting DropdownMenu.requestFocusOnTap to false makes TextField a button |
L3699 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| ensure exclude semantics for trailing button |
L4379 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/dropdown_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| DropdownMenuItem has expected default mouse cursor on hover |
L3963 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| DropdownButton changes mouse cursor when hovered as expected |
L4012 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/elevated_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| ElevatedButton uses InkSparkle only for Android non-web when useMaterial3 is true |
L1632 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| ElevatedButton changes mouse cursor when hovered |
L1810 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/filled_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| FilledButton.icon responds to applied padding |
L1306 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| FilledButton uses InkSparkle only for Android non-web when useMaterial3 is true |
L1766 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| FilledButton changes mouse cursor when hovered |
L1924 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/filter_chip_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| FilterChip has expected default mouse cursor on hover |
L1267 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/icon_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Disabled IconButton can |
L800 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| IconButton.mouseCursor changes cursor on hover |
L945 |
kIsWeb Web comment / regression |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| does not draw focus color when focused by semantics on the web |
L3378 |
isBrowser |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/ink_paint_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Material3 - InkWell widget renders an ink splash |
L92 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/ink_splash_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Material3 - InkWell with NoSplash splashFactory paints nothing |
L93 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/ink_well_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| InkWell.mouseCursor changes cursor on hover |
L1143 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| InkResponse containing selectable text changes mouse cursor when hovered |
L1235 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/input_chip_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| InputChip has expected default mouse cursor on hover |
L609 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/input_decorator_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| uses alphabetic baseline for CJK layout |
L15184 |
isBrowser |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/list_tile_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| leading |
L2753 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| trailing |
L2780 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/material_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| MaterialButton changes mouse cursor when hovered |
L431 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/menu_anchor_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Shortcuts of MenuAnchor do not rely on WidgetsApp.shortcuts |
L2424 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| MenuItemButton has platform-adaptive button semantics |
L4467 |
kIsWeb Web comment / regression |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| SubmenuButton has platform-adaptive button semantics |
L4533 |
kIsWeb Web comment / regression |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| SubmenuButton expanded/collapsed state |
L4583 |
kIsWeb |
Asserts web-specific semantics flag behavior (e.g. SemanticsFlag.hasCheckedState vs hasSelectedState or SemanticsFlag.isButton). |
| SubmenuButton has expected default mouse cursor on hover |
L5457 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| MenuItemButton has expected default mouse cursor on hover |
L5491 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| CheckboxMenuButton has expected default mouse cursor on hover |
L5535 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| RadioMenuButton has expected default mouse cursor on hover |
L5571 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/navigation_bar_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Navigation bar semantics |
L455 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Navigation bar disabled semantics |
L561 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Navigation bar semantics with some labels hidden |
L589 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| NavigationBar respects overlayColor in active/pressed/hovered states |
L1124 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/navigation_bar_theme_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| NavigationBar respects NavigationBarTheme.overlayColor in active/pressed/hovered states |
L244 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/outlined_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| OutlinedButton uses InkSparkle only for Android non-web when useMaterial3 is true |
L1861 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| OutlinedButton changes mouse cursor when hovered |
L2039 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/popup_menu_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| PopupMenuButton has expected default mouse cursor on hover |
L2542 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| PopupMenuItem changes mouse cursor when hovered |
L2573 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| CheckedPopupMenuItem changes mouse cursor when hovered |
L2667 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/popup_menu_theme_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Passing no PopupMenuThemeData returns defaults |
L134 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| Passing no PopupMenuThemeData returns defaults |
L479 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/radio_list_tile_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Radio changes mouse cursor when hovered |
L846 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/radio_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Radio can be controlled by keyboard shortcuts |
L921 |
kIsWeb Web comment / regression |
Asserts web-specific keyboard interaction: on Web, widgets do not respond to the Enter key. |
| Radio changes mouse cursor when hovered |
L1049 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/raw_material_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| RawMaterialButton responds to shortcut when activated |
L45 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| RawMaterialButton changes mouse cursor as expected when hovered |
L597 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/scaffold_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Back arrow uses correct default |
L1090 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Call to Scaffold.of() without context |
L2497 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| Call to Scaffold.geometryOf() without context |
L2570 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/scrollbar_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Simultaneous dragging and pointer scrolling does not cause a crash |
L1588 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/search_anchor_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| SearchAnchor.bar.scrollPadding is passed through to EditableText |
L3778 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/search_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Custom flexibleSpace value |
L675 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| does not include routeName |
L863 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/segmented_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| SegmentedButton has expected default mouse cursor on hover |
L1503 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/selection_area_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| builds the default context menu by default on Android and iOS web |
L133 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Can only drag one selection handle at a time on Android web |
L488 |
kIsWeb |
Web-only test (skip: !kIsWeb), runs exclusively on web platforms. |
Path: packages/material_ui/test/stepper_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Nested stepper error test |
L476 |
Web comment / regression |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/switch_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Switch.adaptive default mouse cursor(Cupertino) |
L1222 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| Switch can be toggled by keyboard shortcuts |
L2017 |
kIsWeb Web comment / regression |
Asserts web-specific keyboard interaction: on Web, widgets do not respond to the Enter key. |
Path: packages/material_ui/test/tabs_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| correct semantics |
L4254 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| correct scrolling semantics |
L4337 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| can override semantics of tabs |
L4534 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Test semantics of TabPageSelector |
L6387 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/text_button_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| TextButton uses InkSparkle only for Android non-web when useMaterial3 is true |
L1575 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| TextButton changes mouse cursor when hovered |
L1751 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Path: packages/material_ui/test/text_field_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Live Text button shows and hides correctly when LiveTextStatus changes |
L75 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Read only text field basic |
L2051 |
isBrowser Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| Dynamically switching to read only should close input connection |
L2228 |
isBrowser Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| Dynamically switching to non read only should open input connection |
L2260 |
isBrowser Web comment / regression |
Tests web-specific platform behavior or conditionals. |
| Can only drag one selection handle at a time on Android web |
L3531 |
kIsWeb Web comment / regression |
Web-only test (skip: !kIsWeb), runs exclusively on web platforms. |
| Does not show handles when updated from the web engine |
L14755 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| TextField icons change mouse cursor when hovered |
L15349 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
| using default behavior for different platforms. |
L15836 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Tapping outside doesn |
L17968 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
| Default TextField handling of onTapOutside follows platform conventions for ${pointerDeviceKind.name} |
L18102 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/theme_data_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| splashFactory is InkSparkle only for Android non-web when useMaterial3 is true |
L952 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/test/toggle_buttons_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| ToggleButtons changes mouse cursor when the button is hovered |
L1712 |
kIsWeb |
Verifies that mouse cursor changes to SystemMouseCursors.click when hovered on Web (vs basic cursor on desktop/mobile). |
Package: packages/material_ui/example
Path: packages/material_ui/example/test/context_menu/editable_text_toolbar_builder.2_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| showing and hiding the context menu in TextField with a custom toolbar |
L14 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/example/test/context_menu/selectable_region_toolbar_builder.0_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| showing and hiding the custom context menu on SelectionArea |
L14 |
kIsWeb |
Tests web-specific platform behavior or conditionals. |
Path: packages/material_ui/example/test/text_form_field/text_form_field.1_test.dart
| Test Case |
Line |
Reasons / Mechanism |
Explanation |
| Pressing space should focus the next field |
L12 |
isBrowser |
Tests web-specific platform behavior or conditionals. |
See #189278 for additional context here.
The web test shards that contain the
material_uiandmaterial_ui/exampletests take too long to complete (currently ~1 hour, which is the timeout limit). Initial solution involved changing the sharding logic so that thematerial_uiandmaterial_ui/exampletests were assigned to separate shards, but that will need more design (see #189278).Instead, we are going to reduce the number of test we are running on web, using a similar mechanism to the
reduced-test-settag influtter/flutter. We can call it something likereduced-web-test-set.We should only run tests on web that are specifically targeting web behavior or regressions. These test cases can be tagged with
reduced-web-test-set. They will run on both web and non-web platforms, whereas tests without that tag will only run on non-web platforms.Below is a list of test cases targeting web that should use the new test tag (note: the following were identifying via agentic analysis so it's possible some were missed, however I think this subset will still guarantee us solid web coverage):
Web test audit
File:
action_chip_test.dartPath:
packages/material_ui/test/action_chip_test.dartL504SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
back_button_test.dartPath:
packages/material_ui/test/back_button_test.dartL69L384SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L404SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
checkbox_list_tile_test.dartPath:
packages/material_ui/test/checkbox_list_tile_test.dartL579SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L912File:
checkbox_test.dartPath:
packages/material_ui/test/checkbox_test.dartL1021Web comment / regression
L1219SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L2338SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
chip_test.dartPath:
packages/material_ui/test/chip_test.dartL2152L2314L2451L2833SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L2881SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L2945SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L2999SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L3122SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L3174SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L3223SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L3278SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).File:
choice_chip_test.dartPath:
packages/material_ui/test/choice_chip_test.dartL765SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
date_picker_theme_test.dartPath:
packages/material_ui/test/date_picker_theme_test.dartL964L1146File:
drawer_button_test.dartPath:
packages/material_ui/test/drawer_button_test.dartL293SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L316SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
dropdown_form_field_test.dartPath:
packages/material_ui/test/dropdown_form_field_test.dartL1466SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
dropdown_menu_test.dartPath:
packages/material_ui/test/dropdown_menu_test.dartL2980L3023L3699L4379File:
dropdown_test.dartPath:
packages/material_ui/test/dropdown_test.dartL3963SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L4012SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
elevated_button_test.dartPath:
packages/material_ui/test/elevated_button_test.dartL1632L1810SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
filled_button_test.dartPath:
packages/material_ui/test/filled_button_test.dartL1306L1766L1924SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
filter_chip_test.dartPath:
packages/material_ui/test/filter_chip_test.dartL1267SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
icon_button_test.dartPath:
packages/material_ui/test/icon_button_test.dartL800L945Web comment / regression
SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L3378File:
ink_paint_test.dartPath:
packages/material_ui/test/ink_paint_test.dartL92File:
ink_splash_test.dartPath:
packages/material_ui/test/ink_splash_test.dartL93File:
ink_well_test.dartPath:
packages/material_ui/test/ink_well_test.dartL1143SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L1235SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
input_chip_test.dartPath:
packages/material_ui/test/input_chip_test.dartL609SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
input_decorator_test.dartPath:
packages/material_ui/test/input_decorator_test.dartL15184File:
list_tile_test.dartPath:
packages/material_ui/test/list_tile_test.dartL2753L2780File:
material_button_test.dartPath:
packages/material_ui/test/material_button_test.dartL431SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
menu_anchor_test.dartPath:
packages/material_ui/test/menu_anchor_test.dartL2424L4467Web comment / regression
SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L4533Web comment / regression
SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L4583SemanticsFlag.hasCheckedStatevshasSelectedStateorSemanticsFlag.isButton).L5457SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L5491SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L5535SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L5571SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
navigation_bar_test.dartPath:
packages/material_ui/test/navigation_bar_test.dartL455L561L589L1124File:
navigation_bar_theme_test.dartPath:
packages/material_ui/test/navigation_bar_theme_test.dartL244File:
outlined_button_test.dartPath:
packages/material_ui/test/outlined_button_test.dartL1861L2039SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
popup_menu_test.dartPath:
packages/material_ui/test/popup_menu_test.dartL2542SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L2573SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L2667SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
popup_menu_theme_test.dartPath:
packages/material_ui/test/popup_menu_theme_test.dartL134SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L479SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
radio_list_tile_test.dartPath:
packages/material_ui/test/radio_list_tile_test.dartL846SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
radio_test.dartPath:
packages/material_ui/test/radio_test.dartL921Web comment / regression
L1049SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
raw_material_button_test.dartPath:
packages/material_ui/test/raw_material_button_test.dartL45L597SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
scaffold_test.dartPath:
packages/material_ui/test/scaffold_test.dartL1090L2497L2570File:
scrollbar_test.dartPath:
packages/material_ui/test/scrollbar_test.dartL1588File:
search_anchor_test.dartPath:
packages/material_ui/test/search_anchor_test.dartL3778File:
search_test.dartPath:
packages/material_ui/test/search_test.dartL675L863File:
segmented_button_test.dartPath:
packages/material_ui/test/segmented_button_test.dartL1503SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
selection_area_test.dartPath:
packages/material_ui/test/selection_area_test.dartL133L488skip: !kIsWeb), runs exclusively on web platforms.File:
stepper_test.dartPath:
packages/material_ui/test/stepper_test.dartL476File:
switch_test.dartPath:
packages/material_ui/test/switch_test.dartL1222SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L2017Web comment / regression
File:
tabs_test.dartPath:
packages/material_ui/test/tabs_test.dartL4254L4337L4534L6387File:
text_button_test.dartPath:
packages/material_ui/test/text_button_test.dartL1575L1751SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).File:
text_field_test.dartPath:
packages/material_ui/test/text_field_test.dartL75L2051Web comment / regression
L2228Web comment / regression
L2260Web comment / regression
L3531Web comment / regression
skip: !kIsWeb), runs exclusively on web platforms.L14755L15349SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).L15836L17968L18102File:
theme_data_test.dartPath:
packages/material_ui/test/theme_data_test.dartL952File:
toggle_buttons_test.dartPath:
packages/material_ui/test/toggle_buttons_test.dartL1712SystemMouseCursors.clickwhen hovered on Web (vs basic cursor on desktop/mobile).Package:
packages/material_ui/examplepackages/material_ui/exampleFile:
editable_text_toolbar_builder.2_test.dartPath:
packages/material_ui/example/test/context_menu/editable_text_toolbar_builder.2_test.dartL14File:
selectable_region_toolbar_builder.0_test.dartPath:
packages/material_ui/example/test/context_menu/selectable_region_toolbar_builder.0_test.dartL14File:
text_form_field.1_test.dartPath:
packages/material_ui/example/test/text_form_field/text_form_field.1_test.dartL12