Remove material from Modal barrier tests#181708
Conversation
There was a problem hiding this comment.
Code Review
This pull request successfully removes the material dependency from modal_barrier_test.dart by enhancing and using TestWidgetsApp. The changes in TestWidgetsApp to support routes are well-implemented, and the new tests provide good coverage. My only suggestion is to add assertions to the TestWidgetsApp constructor to ensure either home or a default route is provided, improving its robustness.
| const TestWidgetsApp({ | ||
| super.key, | ||
| this.home, | ||
| this.routes = const <String, WidgetBuilder>{}, | ||
| this.color = const Color(0xFFFFFFFF), | ||
| this.transitionsBuilder = _defaultTransitionsBuilder, | ||
| }); |
There was a problem hiding this comment.
To make TestWidgetsApp more robust and provide clearer error messages, it would be beneficial to add assertions to the constructor. This ensures that either home is provided, or routes contains a default route ('/'), and that both are not provided in a conflicting way. This mirrors the assertions in WidgetsApp and improves the developer experience when using this test utility.
const TestWidgetsApp({
super.key,
this.home,
this.routes = const <String, WidgetBuilder>{},
this.color = const Color(0xFFFFFFFF),
this.transitionsBuilder = _defaultTransitionsBuilder,
}) : assert(
home != null || routes.containsKey(Navigator.defaultRouteName),
'Either "home" must be specified, or "routes" must contain an entry for '
'"${Navigator.defaultRouteName}".',
),
assert(
home == null || !routes.containsKey(Navigator.defaultRouteName),
'If "home" is specified, the "routes" table cannot include an entry for '
'"${Navigator.defaultRouteName}", since it would be redundant.',
);19b33cb to
e686314
Compare
victorsanni
left a comment
There was a problem hiding this comment.
Can you convert the blocked PRs into drafts? to help balance our review queues.
| /// ); | ||
| /// }); | ||
| /// ``` | ||
| /// |
There was a problem hiding this comment.
Also blocked by routes PR.
e686314 to
bd852b4
Compare
There was a problem hiding this comment.
Code Review
This pull request correctly removes the dependency on the material package from modal_barrier_test.dart. This is achieved by replacing MaterialApp with the test-specific TestWidgetsApp, removing the material.dart import, and replacing Colors.red with its raw hex value. The change to check_tests_cross_imports.dart to reflect this fix is also correct. I have one suggestion to improve maintainability by defining the repeated color value as a constant.
| setUp(() { | ||
| tapped = false; | ||
| colorAnimation = const AlwaysStoppedAnimation<Color?>(Colors.red); | ||
| colorAnimation = const AlwaysStoppedAnimation<Color?>(Color(0xFFFF0000)); |
There was a problem hiding this comment.
The color Color(0xFFFF0000) is used multiple times in this file (here and on lines 1049 and 1080). To improve maintainability and avoid magic numbers, consider defining it as a constant and reusing it. This aligns with the repository style guide's principles to 'Optimize for readability' and 'do it right'.
For example, you could add this at the beginning of the main function:
const Color kTestRed = Color(0xFFFF0000);And then use kTestRed in all three places.
References
- The style guide emphasizes writing readable and correct code. Using named constants instead of magic numbers and avoiding duplication improves readability and maintainability, aligning with the 'do it right' principle. (link)
| setUp(() { | ||
| tapped = false; | ||
| colorAnimation = const AlwaysStoppedAnimation<Color?>(Colors.red); | ||
| colorAnimation = const AlwaysStoppedAnimation<Color?>(Color(0xFFFF0000)); |
bd852b4 to
f50253a
Compare
This PR removes Material imports from modal_barrier_test.dart. part of: flutter#177415 depends on: flutter#181695 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
…11088) Manual roll Flutter from c023e5b2474f to 91b2d41a66d1 (31 revisions) Manual roll requested by tarrinneal@google.com flutter/flutter@c023e5b...91b2d41 2026-02-19 31859944+LongCatIsLooong@users.noreply.github.com Reland #179643, only scroll hit-testable primary scroll views on status bar tap (flutter/flutter#182391) 2026-02-19 116356835+AbdeMohlbi@users.noreply.github.com Replace References to `flutter/engine` with `flutter/flutter` (flutter/flutter#182600) 2026-02-19 104009581+Saqib198@users.noreply.github.com Remove specific iOS extended attributes to fix code signing (flutter/flutter#180710) 2026-02-19 jason-simmons@users.noreply.github.com Manual roll Skia from 7bbdc51ab0aa to ce5854495a3a (flutter/flutter#182637) 2026-02-19 41930132+hellohuanlin@users.noreply.github.com [pv]add integration test for original untappable web view link behind context menu bug (flutter/flutter#182111) 2026-02-19 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#182579) 2026-02-19 brackenavaron@gmail.com Remove Material import from scroll_view_test.dart (flutter/flutter#181281) 2026-02-19 victorsanniay@gmail.com Add RawTooltip.ignorePointer (flutter/flutter#182527) 2026-02-19 mdebbar@google.com [web] Stop double loading fonts for WebParagraph (flutter/flutter#182026) 2026-02-19 1063596+reidbaker@users.noreply.github.com Migrate abi build paths to use new abi filtering api #AGP9 (flutter/flutter#181828) 2026-02-19 mdebbar@google.com [web] Flutter errors should be reported with console.error() (flutter/flutter#178886) 2026-02-19 engine-flutter-autoroll@skia.org Manual roll Skia from dfe78d132e24 to 7bbdc51ab0aa (8 revisions) (flutter/flutter#182612) 2026-02-19 ahabeeblahi1@gmail.com Refactor autofill_group_test.dart to remove Material dependencies (flutter/flutter#181903) 2026-02-19 engine-flutter-autoroll@skia.org Roll Packages from 59f905c to 9da22bf (8 revisions) (flutter/flutter#182611) 2026-02-19 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Ihau0pUz3u5ajw42u... to KfPgw04T0OEADLJA5... (flutter/flutter#182607) 2026-02-19 magder@google.com Marks Mac_arm64_mokey entrypoint_dart_registrant unflaky (flutter/flutter#181648) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material from Modal barrier tests (flutter/flutter#181708) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material from ticker mode test (flutter/flutter#181696) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material imports from Inherited Model, Magnifier, SafeArea, UndoHistory, Navigator and Layers test (flutter/flutter#181709) 2026-02-19 161609011+Akshat-Shuklaaa@users.noreply.github.com docs: fix grammar in animation library documentation (flutter/flutter#182461) 2026-02-19 ahmedsameha1@gmail.com Handle#6537 first grouped tests (flutter/flutter#182077) 2026-02-19 ahabeeblahi1@gmail.com Move SelectionArea web test from widgets to material folder (flutter/flutter#181951) 2026-02-19 engine-flutter-autoroll@skia.org Roll Dart SDK from 44895e617182 to 2642761fca94 (6 revisions) (flutter/flutter#182572) 2026-02-19 okorohelijah@google.com Update create template to always generate both SwiftPM and CocoaPods support for iOS/macOS plugins (flutter/flutter#181251) 2026-02-18 74812392+akhil-ge0rge@users.noreply.github.com Fix(Material): DateRangePicker ignores DatePickerTheme.dayShape (flutter/flutter#181658) 2026-02-18 83986256+devnoaman@users.noreply.github.com Fixing ExpansionTile expandedAlignment not Accepts AlignmentGeometry … (flutter/flutter#180814) 2026-02-18 15619084+vashworth@users.noreply.github.com Give guided error message when CocoaPod and SwiftPM dependency conflicts (flutter/flutter#182392) 2026-02-18 brackenavaron@gmail.com Remove material from interactive_viewer_test.dart (flutter/flutter#181465) 2026-02-18 dkwingsmt@users.noreply.github.com Bring Windows misc coverage out of bringup (flutter/flutter#182332) 2026-02-18 34871572+gmackall@users.noreply.github.com Update android symbolication instructions (flutter/flutter#181267) 2026-02-18 34871572+gmackall@users.noreply.github.com Unmark stable vulkan platform view tests as bringup (flutter/flutter#182554) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: ...
This PR removes Material imports from modal_barrier_test.dart. part of: flutter#177415 depends on: flutter#181695 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
…lutter#11088) Manual roll Flutter from c023e5b2474f to 91b2d41a66d1 (31 revisions) Manual roll requested by tarrinneal@google.com flutter/flutter@c023e5b...91b2d41 2026-02-19 31859944+LongCatIsLooong@users.noreply.github.com Reland #179643, only scroll hit-testable primary scroll views on status bar tap (flutter/flutter#182391) 2026-02-19 116356835+AbdeMohlbi@users.noreply.github.com Replace References to `flutter/engine` with `flutter/flutter` (flutter/flutter#182600) 2026-02-19 104009581+Saqib198@users.noreply.github.com Remove specific iOS extended attributes to fix code signing (flutter/flutter#180710) 2026-02-19 jason-simmons@users.noreply.github.com Manual roll Skia from 7bbdc51ab0aa to ce5854495a3a (flutter/flutter#182637) 2026-02-19 41930132+hellohuanlin@users.noreply.github.com [pv]add integration test for original untappable web view link behind context menu bug (flutter/flutter#182111) 2026-02-19 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#182579) 2026-02-19 brackenavaron@gmail.com Remove Material import from scroll_view_test.dart (flutter/flutter#181281) 2026-02-19 victorsanniay@gmail.com Add RawTooltip.ignorePointer (flutter/flutter#182527) 2026-02-19 mdebbar@google.com [web] Stop double loading fonts for WebParagraph (flutter/flutter#182026) 2026-02-19 1063596+reidbaker@users.noreply.github.com Migrate abi build paths to use new abi filtering api #AGP9 (flutter/flutter#181828) 2026-02-19 mdebbar@google.com [web] Flutter errors should be reported with console.error() (flutter/flutter#178886) 2026-02-19 engine-flutter-autoroll@skia.org Manual roll Skia from dfe78d132e24 to 7bbdc51ab0aa (8 revisions) (flutter/flutter#182612) 2026-02-19 ahabeeblahi1@gmail.com Refactor autofill_group_test.dart to remove Material dependencies (flutter/flutter#181903) 2026-02-19 engine-flutter-autoroll@skia.org Roll Packages from 59f905c to 9da22bf (8 revisions) (flutter/flutter#182611) 2026-02-19 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Ihau0pUz3u5ajw42u... to KfPgw04T0OEADLJA5... (flutter/flutter#182607) 2026-02-19 magder@google.com Marks Mac_arm64_mokey entrypoint_dart_registrant unflaky (flutter/flutter#181648) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material from Modal barrier tests (flutter/flutter#181708) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material from ticker mode test (flutter/flutter#181696) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material imports from Inherited Model, Magnifier, SafeArea, UndoHistory, Navigator and Layers test (flutter/flutter#181709) 2026-02-19 161609011+Akshat-Shuklaaa@users.noreply.github.com docs: fix grammar in animation library documentation (flutter/flutter#182461) 2026-02-19 ahmedsameha1@gmail.com Handle#6537 first grouped tests (flutter/flutter#182077) 2026-02-19 ahabeeblahi1@gmail.com Move SelectionArea web test from widgets to material folder (flutter/flutter#181951) 2026-02-19 engine-flutter-autoroll@skia.org Roll Dart SDK from 44895e617182 to 2642761fca94 (6 revisions) (flutter/flutter#182572) 2026-02-19 okorohelijah@google.com Update create template to always generate both SwiftPM and CocoaPods support for iOS/macOS plugins (flutter/flutter#181251) 2026-02-18 74812392+akhil-ge0rge@users.noreply.github.com Fix(Material): DateRangePicker ignores DatePickerTheme.dayShape (flutter/flutter#181658) 2026-02-18 83986256+devnoaman@users.noreply.github.com Fixing ExpansionTile expandedAlignment not Accepts AlignmentGeometry … (flutter/flutter#180814) 2026-02-18 15619084+vashworth@users.noreply.github.com Give guided error message when CocoaPod and SwiftPM dependency conflicts (flutter/flutter#182392) 2026-02-18 brackenavaron@gmail.com Remove material from interactive_viewer_test.dart (flutter/flutter#181465) 2026-02-18 dkwingsmt@users.noreply.github.com Bring Windows misc coverage out of bringup (flutter/flutter#182332) 2026-02-18 34871572+gmackall@users.noreply.github.com Update android symbolication instructions (flutter/flutter#181267) 2026-02-18 34871572+gmackall@users.noreply.github.com Unmark stable vulkan platform view tests as bringup (flutter/flutter#182554) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: ...
This PR removes Material imports from modal_barrier_test.dart. part of: flutter#177415 depends on: flutter#181695 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
…lutter#11088) Manual roll Flutter from c023e5b2474f to 91b2d41a66d1 (31 revisions) Manual roll requested by tarrinneal@google.com flutter/flutter@c023e5b...91b2d41 2026-02-19 31859944+LongCatIsLooong@users.noreply.github.com Reland #179643, only scroll hit-testable primary scroll views on status bar tap (flutter/flutter#182391) 2026-02-19 116356835+AbdeMohlbi@users.noreply.github.com Replace References to `flutter/engine` with `flutter/flutter` (flutter/flutter#182600) 2026-02-19 104009581+Saqib198@users.noreply.github.com Remove specific iOS extended attributes to fix code signing (flutter/flutter#180710) 2026-02-19 jason-simmons@users.noreply.github.com Manual roll Skia from 7bbdc51ab0aa to ce5854495a3a (flutter/flutter#182637) 2026-02-19 41930132+hellohuanlin@users.noreply.github.com [pv]add integration test for original untappable web view link behind context menu bug (flutter/flutter#182111) 2026-02-19 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#182579) 2026-02-19 brackenavaron@gmail.com Remove Material import from scroll_view_test.dart (flutter/flutter#181281) 2026-02-19 victorsanniay@gmail.com Add RawTooltip.ignorePointer (flutter/flutter#182527) 2026-02-19 mdebbar@google.com [web] Stop double loading fonts for WebParagraph (flutter/flutter#182026) 2026-02-19 1063596+reidbaker@users.noreply.github.com Migrate abi build paths to use new abi filtering api #AGP9 (flutter/flutter#181828) 2026-02-19 mdebbar@google.com [web] Flutter errors should be reported with console.error() (flutter/flutter#178886) 2026-02-19 engine-flutter-autoroll@skia.org Manual roll Skia from dfe78d132e24 to 7bbdc51ab0aa (8 revisions) (flutter/flutter#182612) 2026-02-19 ahabeeblahi1@gmail.com Refactor autofill_group_test.dart to remove Material dependencies (flutter/flutter#181903) 2026-02-19 engine-flutter-autoroll@skia.org Roll Packages from 59f905c to 9da22bf (8 revisions) (flutter/flutter#182611) 2026-02-19 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Ihau0pUz3u5ajw42u... to KfPgw04T0OEADLJA5... (flutter/flutter#182607) 2026-02-19 magder@google.com Marks Mac_arm64_mokey entrypoint_dart_registrant unflaky (flutter/flutter#181648) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material from Modal barrier tests (flutter/flutter#181708) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material from ticker mode test (flutter/flutter#181696) 2026-02-19 34465683+rkishan516@users.noreply.github.com Remove material imports from Inherited Model, Magnifier, SafeArea, UndoHistory, Navigator and Layers test (flutter/flutter#181709) 2026-02-19 161609011+Akshat-Shuklaaa@users.noreply.github.com docs: fix grammar in animation library documentation (flutter/flutter#182461) 2026-02-19 ahmedsameha1@gmail.com Handle#6537 first grouped tests (flutter/flutter#182077) 2026-02-19 ahabeeblahi1@gmail.com Move SelectionArea web test from widgets to material folder (flutter/flutter#181951) 2026-02-19 engine-flutter-autoroll@skia.org Roll Dart SDK from 44895e617182 to 2642761fca94 (6 revisions) (flutter/flutter#182572) 2026-02-19 okorohelijah@google.com Update create template to always generate both SwiftPM and CocoaPods support for iOS/macOS plugins (flutter/flutter#181251) 2026-02-18 74812392+akhil-ge0rge@users.noreply.github.com Fix(Material): DateRangePicker ignores DatePickerTheme.dayShape (flutter/flutter#181658) 2026-02-18 83986256+devnoaman@users.noreply.github.com Fixing ExpansionTile expandedAlignment not Accepts AlignmentGeometry … (flutter/flutter#180814) 2026-02-18 15619084+vashworth@users.noreply.github.com Give guided error message when CocoaPod and SwiftPM dependency conflicts (flutter/flutter#182392) 2026-02-18 brackenavaron@gmail.com Remove material from interactive_viewer_test.dart (flutter/flutter#181465) 2026-02-18 dkwingsmt@users.noreply.github.com Bring Windows misc coverage out of bringup (flutter/flutter#182332) 2026-02-18 34871572+gmackall@users.noreply.github.com Update android symbolication instructions (flutter/flutter#181267) 2026-02-18 34871572+gmackall@users.noreply.github.com Unmark stable vulkan platform view tests as bringup (flutter/flutter#182554) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: ...
This PR removes Material imports from modal_barrier_test.dart.
part of: #177415
depends on: #181695
Pre-launch Checklist
///).