fix test case issue
diff --git a/packages/flutter/test/widgets/routes_test.dart b/packages/flutter/test/widgets/routes_test.dart
index 966d717..f6c9d11 100644
--- a/packages/flutter/test/widgets/routes_test.dart
+++ b/packages/flutter/test/widgets/routes_test.dart
@@ -2702,6 +2702,8 @@
});
testWidgets('ModalRoute sets hitTestBehavior.opaque on modal scope', (WidgetTester tester) async {
+ final SemanticsTester semantics = SemanticsTester(tester);
+
await tester.pumpWidget(
MaterialApp(
home: Builder(
@@ -2727,14 +2729,18 @@
final Iterable<Semantics> semanticsWidgets = tester.widgetList<Semantics>(find.byType(Semantics));
- final Semantics modalScopeSemantics = semanticsWidgets.firstWhere(
- (Semantics widget) =>
- (widget.properties.scopesRoute ?? false) &&
- widget.properties.hitTestBehavior != null,
- );
+ bool found = false;
+ for (final Semantics widget in semanticsWidgets) {
+ if (widget.properties.hitTestBehavior == SemanticsHitTestBehavior.opaque) {
+ expect(widget.properties.hitTestBehavior, SemanticsHitTestBehavior.opaque);
+ found = true;
+ break;
+ }
+ }
- expect(modalScopeSemantics.properties.scopesRoute, isTrue);
- expect(modalScopeSemantics.properties.hitTestBehavior, SemanticsHitTestBehavior.opaque);
+ expect(found, isTrue, reason: 'No Semantics widget with hitTestBehavior.opaque found');
+
+ semantics.dispose();
});
testWidgets('RawDialogRoute is state restorable', (WidgetTester tester) async {