From 4ac98e3182021957586b7feb07b3276dc4a97dc0 Mon Sep 17 00:00:00 2001 From: Renzo Olivares Date: Thu, 25 Jun 2026 00:53:59 +0000 Subject: [PATCH 1/6] Migrate route_test.dart to SemanticsHandle --- .../route_test.dart | 36 +++++++------------ 1 file changed, 13 insertions(+), 23 deletions(-) rename packages/cupertino_ui/{temporarily_disabled_tests => test}/route_test.dart (99%) diff --git a/packages/cupertino_ui/temporarily_disabled_tests/route_test.dart b/packages/cupertino_ui/test/route_test.dart similarity index 99% rename from packages/cupertino_ui/temporarily_disabled_tests/route_test.dart rename to packages/cupertino_ui/test/route_test.dart index 2dda17b73d4b..26257123dedb 100644 --- a/packages/cupertino_ui/temporarily_disabled_tests/route_test.dart +++ b/packages/cupertino_ui/test/route_test.dart @@ -2,9 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -@Skip( - 'This file is skipped due to a cross-import that needs to be fixed. Tracked in https://github.com/flutter/flutter/issues/177028.', -) +// ignore_for_file: only_throw_errors, unawaited_futures + @TestOn('!chrome') library; @@ -15,8 +14,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; -import '../widgets/semantics_tester.dart'; - void main() { late MockNavigatorObserver navigatorObserver; @@ -2045,7 +2042,8 @@ void main() { WidgetTester tester, ) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final semantics = SemanticsTester(tester); + final SemanticsHandle handle = tester.ensureSemantics(); + await tester.pumpWidget( CupertinoApp( home: Navigator( @@ -2072,24 +2070,18 @@ void main() { await tester.tap(find.text('tap')); await tester.pumpAndSettle(); - expect( - semantics, - isNot( - includesNodeWith( - actions: [SemanticsAction.tap, SemanticsAction.focus], - label: 'Dismiss', - ), - ), - ); + expect(find.semantics.byLabel('Dismiss'), findsNothing); + debugDefaultTargetPlatformOverride = null; - semantics.dispose(); + handle.dispose(); }); testWidgets('showCupertinoModalPopup allows for semantics dismiss when set', ( WidgetTester tester, ) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final semantics = SemanticsTester(tester); + final SemanticsHandle handle = tester.ensureSemantics(); + await tester.pumpWidget( CupertinoApp( home: Navigator( @@ -2118,14 +2110,12 @@ void main() { await tester.pumpAndSettle(); expect( - semantics, - includesNodeWith( - actions: [SemanticsAction.tap, SemanticsAction.dismiss], - label: 'Dismiss', - ), + find.semantics.byLabel('Dismiss'), + isSemantics(label: 'Dismiss', hasTapAction: true, hasDismissAction: true), ); + debugDefaultTargetPlatformOverride = null; - semantics.dispose(); + handle.dispose(); }); testWidgets('showCupertinoModalPopup passes RouteSettings to PopupRoute', ( From 7a3953d47da0a2d227ef4bc5de580a97d64c339d Mon Sep 17 00:00:00 2001 From: Renzo Olivares Date: Thu, 25 Jun 2026 18:09:48 +0000 Subject: [PATCH 2/6] fix unawaited --- packages/cupertino_ui/test/route_test.dart | 119 ++++++++++++--------- 1 file changed, 69 insertions(+), 50 deletions(-) diff --git a/packages/cupertino_ui/test/route_test.dart b/packages/cupertino_ui/test/route_test.dart index 26257123dedb..93f3d2925295 100644 --- a/packages/cupertino_ui/test/route_test.dart +++ b/packages/cupertino_ui/test/route_test.dart @@ -2,11 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// ignore_for_file: only_throw_errors, unawaited_futures - @TestOn('!chrome') library; +import 'dart:async'; import 'dart:ui'; import 'package:cupertino_ui/cupertino_ui.dart'; @@ -2549,12 +2548,14 @@ void main() { ); final BuildContext context = tester.element(find.text('Test')); - showCupertinoDialog( - context: context, - builder: (BuildContext context) { - return const Placeholder(); - }, - anchorPoint: const Offset(1000, 0), + unawaited( + showCupertinoDialog( + context: context, + builder: (BuildContext context) { + return const Placeholder(); + }, + anchorPoint: const Offset(1000, 0), + ), ); await tester.pumpAndSettle(); @@ -2587,11 +2588,13 @@ void main() { ); final BuildContext context = tester.element(find.text('Test')); - showCupertinoDialog( - context: context, - builder: (BuildContext context) { - return const Placeholder(); - }, + unawaited( + showCupertinoDialog( + context: context, + builder: (BuildContext context) { + return const Placeholder(); + }, + ), ); await tester.pumpAndSettle(); @@ -2624,11 +2627,13 @@ void main() { ); final BuildContext context = tester.element(find.text('Test')); - showCupertinoDialog( - context: context, - builder: (BuildContext context) { - return const Placeholder(); - }, + unawaited( + showCupertinoDialog( + context: context, + builder: (BuildContext context) { + return const Placeholder(); + }, + ), ); await tester.pumpAndSettle(); @@ -2663,12 +2668,14 @@ void main() { ); final BuildContext context = tester.element(find.text('Test')); - showCupertinoModalPopup( - context: context, - builder: (BuildContext context) { - return const Placeholder(); - }, - anchorPoint: const Offset(1000, 0), + unawaited( + showCupertinoModalPopup( + context: context, + builder: (BuildContext context) { + return const Placeholder(); + }, + anchorPoint: const Offset(1000, 0), + ), ); await tester.pumpAndSettle(); @@ -2701,11 +2708,13 @@ void main() { ); final BuildContext context = tester.element(find.text('Test')); - showCupertinoModalPopup( - context: context, - builder: (BuildContext context) { - return const Placeholder(); - }, + unawaited( + showCupertinoModalPopup( + context: context, + builder: (BuildContext context) { + return const Placeholder(); + }, + ), ); await tester.pumpAndSettle(); @@ -2738,11 +2747,13 @@ void main() { ); final BuildContext context = tester.element(find.text('Test')); - showCupertinoModalPopup( - context: context, - builder: (BuildContext context) { - return const Placeholder(); - }, + unawaited( + showCupertinoModalPopup( + context: context, + builder: (BuildContext context) { + return const Placeholder(); + }, + ), ); await tester.pumpAndSettle(); @@ -3127,10 +3138,12 @@ void main() { await tester.pump(); expect(focusNode.hasFocus, true); - showCupertinoModalPopup( - context: navigatorKey.currentContext!, - requestFocus: true, - builder: (BuildContext context) => const Text('popup'), + unawaited( + showCupertinoModalPopup( + context: navigatorKey.currentContext!, + requestFocus: true, + builder: (BuildContext context) => const Text('popup'), + ), ); await tester.pumpAndSettle(); expect(FocusScope.of(tester.element(find.text('popup'))).hasFocus, true); @@ -3140,10 +3153,12 @@ void main() { await tester.pumpAndSettle(); expect(focusNode.hasFocus, true); - showCupertinoModalPopup( - context: navigatorKey.currentContext!, - requestFocus: false, - builder: (BuildContext context) => const Text('popup'), + unawaited( + showCupertinoModalPopup( + context: navigatorKey.currentContext!, + requestFocus: false, + builder: (BuildContext context) => const Text('popup'), + ), ); await tester.pumpAndSettle(); expect(FocusScope.of(tester.element(find.text('popup'))).hasFocus, false); @@ -3164,10 +3179,12 @@ void main() { await tester.pump(); expect(focusNode.hasFocus, true); - showCupertinoDialog( - context: navigatorKey.currentContext!, - requestFocus: true, - builder: (BuildContext context) => const Text('dialog'), + unawaited( + showCupertinoDialog( + context: navigatorKey.currentContext!, + requestFocus: true, + builder: (BuildContext context) => const Text('dialog'), + ), ); await tester.pumpAndSettle(); expect(FocusScope.of(tester.element(find.text('dialog'))).hasFocus, true); @@ -3177,10 +3194,12 @@ void main() { await tester.pumpAndSettle(); expect(focusNode.hasFocus, true); - showCupertinoDialog( - context: navigatorKey.currentContext!, - requestFocus: false, - builder: (BuildContext context) => const Text('dialog'), + unawaited( + showCupertinoDialog( + context: navigatorKey.currentContext!, + requestFocus: false, + builder: (BuildContext context) => const Text('dialog'), + ), ); await tester.pumpAndSettle(); expect(FocusScope.of(tester.element(find.text('dialog'))).hasFocus, false); From 3ae1bce9a8785ed35099b968a27288160e8eb18d Mon Sep 17 00:00:00 2001 From: Renzo Olivares Date: Thu, 25 Jun 2026 18:20:41 +0000 Subject: [PATCH 3/6] replace throw with fail --- packages/cupertino_ui/test/route_test.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cupertino_ui/test/route_test.dart b/packages/cupertino_ui/test/route_test.dart index 93f3d2925295..c04832389892 100644 --- a/packages/cupertino_ui/test/route_test.dart +++ b/packages/cupertino_ui/test/route_test.dart @@ -1567,11 +1567,11 @@ void main() { if (paintColor.value == color.value) { return true; } - throw ''' + fail(''' For a rect with an expected left-side position: $dx (drawn at ${rect.left}): Expected a rect with color: $color, And drew a rect with color: $paintColor. - '''; + '''); }); } @@ -1649,10 +1649,10 @@ void main() { final bool isOnScreen = rect.left >= 0 && rect.right <= 600.0; if (isOnScreen) { - throw ''' + fail(''' Expected: no visible rects on-screen. Found: $rect. - '''; + '''); } } return true; From b916f7b74cfd9d7d535ab5ace171e67c09651ad4 Mon Sep 17 00:00:00 2001 From: Renzo Olivares Date: Thu, 25 Jun 2026 18:44:08 +0000 Subject: [PATCH 4/6] more unawaited --- packages/cupertino_ui/test/route_test.dart | 338 ++++++++++++--------- 1 file changed, 190 insertions(+), 148 deletions(-) diff --git a/packages/cupertino_ui/test/route_test.dart b/packages/cupertino_ui/test/route_test.dart index c04832389892..5ebf34f5583c 100644 --- a/packages/cupertino_ui/test/route_test.dart +++ b/packages/cupertino_ui/test/route_test.dart @@ -23,19 +23,21 @@ void main() { testWidgets('Middle auto-populates with title', (WidgetTester tester) async { await tester.pumpWidget(const CupertinoApp(home: Placeholder())); - tester - .state(find.byType(Navigator)) - .push( - CupertinoPageRoute( - title: 'An iPod', - builder: (BuildContext context) { - return const CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar(), - child: Placeholder(), - ); - }, + unawaited( + tester + .state(find.byType(Navigator)) + .push( + CupertinoPageRoute( + title: 'An iPod', + builder: (BuildContext context) { + return const CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar(), + child: Placeholder(), + ); + }, + ), ), - ); + ); await tester.pump(); await tester.pump(const Duration(milliseconds: 500)); @@ -54,18 +56,20 @@ void main() { addTearDown(tester.view.reset); await tester.pumpWidget(const CupertinoApp(home: Placeholder())); - tester - .state(find.byType(Navigator)) - .push( - CupertinoPageRoute( - title: 'An iPod', - builder: (BuildContext context) { - return const CupertinoPageScaffold( - child: CustomScrollView(slivers: [CupertinoSliverNavigationBar()]), - ); - }, + unawaited( + tester + .state(find.byType(Navigator)) + .push( + CupertinoPageRoute( + title: 'An iPod', + builder: (BuildContext context) { + return const CupertinoPageScaffold( + child: CustomScrollView(slivers: [CupertinoSliverNavigationBar()]), + ); + }, + ), ), - ); + ); await tester.pump(); await tester.pump(const Duration(milliseconds: 500)); @@ -106,36 +110,40 @@ void main() { ) async { await tester.pumpWidget(const CupertinoApp(home: Placeholder())); - tester - .state(find.byType(Navigator)) - .push( - CupertinoPageRoute( - title: 'An iPod', - builder: (BuildContext context) { - return const CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar(), - child: Placeholder(), - ); - }, + unawaited( + tester + .state(find.byType(Navigator)) + .push( + CupertinoPageRoute( + title: 'An iPod', + builder: (BuildContext context) { + return const CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar(), + child: Placeholder(), + ); + }, + ), ), - ); + ); await tester.pump(); await tester.pump(const Duration(milliseconds: 600)); - tester - .state(find.byType(Navigator)) - .push( - CupertinoPageRoute( - title: 'A Phone', - builder: (BuildContext context) { - return const CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar(), - child: Placeholder(), - ); - }, + unawaited( + tester + .state(find.byType(Navigator)) + .push( + CupertinoPageRoute( + title: 'A Phone', + builder: (BuildContext context) { + return const CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar(), + child: Placeholder(), + ); + }, + ), ), - ); + ); await tester.pump(); await tester.pump(const Duration(milliseconds: 600)); @@ -156,36 +164,40 @@ void main() { testWidgets('Previous title is correct on first transition frame', (WidgetTester tester) async { await tester.pumpWidget(const CupertinoApp(home: Placeholder())); - tester - .state(find.byType(Navigator)) - .push( - CupertinoPageRoute( - title: 'An iPod', - builder: (BuildContext context) { - return const CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar(), - child: Placeholder(), - ); - }, + unawaited( + tester + .state(find.byType(Navigator)) + .push( + CupertinoPageRoute( + title: 'An iPod', + builder: (BuildContext context) { + return const CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar(), + child: Placeholder(), + ); + }, + ), ), - ); + ); await tester.pump(); await tester.pump(const Duration(milliseconds: 500)); - tester - .state(find.byType(Navigator)) - .push( - CupertinoPageRoute( - title: 'A Phone', - builder: (BuildContext context) { - return const CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar(), - child: Placeholder(), - ); - }, + unawaited( + tester + .state(find.byType(Navigator)) + .push( + CupertinoPageRoute( + title: 'A Phone', + builder: (BuildContext context) { + return const CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar(), + child: Placeholder(), + ); + }, + ), ), - ); + ); // Trigger the route push await tester.pump(); @@ -366,12 +378,14 @@ void main() { // Use the navigator to push a route instead of tapping the 'push' button. // The topmost route (the one that's animating away), ignores input while // the pop is underway because route.navigator.userGestureInProgress. - Navigator.push( - scaffoldKey.currentContext!, - CupertinoPageRoute( - builder: (BuildContext context) { - return const CupertinoPageScaffold(child: Center(child: Text('route'))); - }, + unawaited( + Navigator.push( + scaffoldKey.currentContext!, + CupertinoPageRoute( + builder: (BuildContext context) { + return const CupertinoPageScaffold(child: Center(child: Text('route'))); + }, + ), ), ); @@ -598,12 +612,14 @@ void main() { // Programmatically push and observe that Page 3 was pushed as if there were // no back gesture. - Navigator.push( - scaffoldKey.currentContext!, - CupertinoPageRoute( - builder: (BuildContext context) { - return const CupertinoPageScaffold(child: Center(child: Text('Page 3'))); - }, + unawaited( + Navigator.push( + scaffoldKey.currentContext!, + CupertinoPageRoute( + builder: (BuildContext context) { + return const CupertinoPageScaffold(child: Center(child: Text('Page 3'))); + }, + ), ), ); await tester.pumpAndSettle(); @@ -682,12 +698,14 @@ void main() { // Programmatically push and observe that Page 3 was pushed as if there were // no back gesture. - Navigator.push( - scaffoldKey.currentContext!, - CupertinoPageRoute( - builder: (BuildContext context) { - return const CupertinoPageScaffold(child: Center(child: Text('Page 3'))); - }, + unawaited( + Navigator.push( + scaffoldKey.currentContext!, + CupertinoPageRoute( + builder: (BuildContext context) { + return const CupertinoPageScaffold(child: Center(child: Text('Page 3'))); + }, + ), ), ); await tester.pumpAndSettle(); @@ -1224,7 +1242,7 @@ void main() { }, ); - tester.state(find.byType(Navigator)).push(route2); + unawaited(tester.state(find.byType(Navigator)).push(route2)); // The whole transition is 500ms based on CupertinoPageRoute.transitionDuration. // Break it up into small chunks. // @@ -1280,7 +1298,7 @@ void main() { }, ); - tester.state(find.byType(Navigator)).push(route2); + unawaited(tester.state(find.byType(Navigator)).push(route2)); await tester.pumpAndSettle(); @@ -1347,7 +1365,7 @@ void main() { }, ); - tester.state(find.byType(Navigator)).push(route2); + unawaited(tester.state(find.byType(Navigator)).push(route2)); await tester.pumpAndSettle(); @@ -1391,7 +1409,7 @@ void main() { }, ); - navigatorKey.currentState!.push(route2); + unawaited(navigatorKey.currentState!.push(route2)); await tester.pumpAndSettle(); expect(navigatorObserver.invocations.removeLast(), NavigatorInvocation.didPush); @@ -1443,7 +1461,7 @@ void main() { ), ); - tester.state(find.byType(Navigator)).pushNamed('/next'); + unawaited(tester.state(find.byType(Navigator)).pushNamed('/next')); await tester.pump(); await tester.pump(const Duration(seconds: 1)); @@ -1482,7 +1500,7 @@ void main() { ), ); - tester.state(find.byType(Navigator)).pushNamed('/next'); + unawaited(tester.state(find.byType(Navigator)).pushNamed('/next')); await tester.pump(); await tester.pump(const Duration(seconds: 1)); @@ -1522,9 +1540,11 @@ void main() { ) async { await tester.pumpWidget(const CupertinoApp(home: SizedBox.expand())); - tester - .state(find.byType(Navigator)) - .push(buildRoute(fullscreenDialog: false)); + unawaited( + tester + .state(find.byType(Navigator)) + .push(buildRoute(fullscreenDialog: false)), + ); await tester.pumpAndSettle(); expect( @@ -1538,7 +1558,11 @@ void main() { ) async { await tester.pumpWidget(const CupertinoApp(home: SizedBox.expand())); - tester.state(find.byType(Navigator)).push(buildRoute(fullscreenDialog: true)); + unawaited( + tester + .state(find.byType(Navigator)) + .push(buildRoute(fullscreenDialog: true)), + ); await tester.pumpAndSettle(); expect(tester.widget(find.byType(ModalBarrier).last).color, isNull); @@ -1577,9 +1601,11 @@ void main() { await tester.pumpWidget(const CupertinoApp(home: SizedBox.expand())); - tester - .state(find.byType(Navigator)) - .push(buildRoute(fullscreenDialog: false)); + unawaited( + tester + .state(find.byType(Navigator)) + .push(buildRoute(fullscreenDialog: false)), + ); await tester.pump(); await tester.pump(const Duration(milliseconds: 1)); @@ -1661,9 +1687,11 @@ void main() { await tester.pumpWidget(const CupertinoApp(home: SizedBox.expand())); - tester - .state(find.byType(Navigator)) - .push(buildRoute(fullscreenDialog: true)); + unawaited( + tester + .state(find.byType(Navigator)) + .push(buildRoute(fullscreenDialog: true)), + ); await tester.pump(); final RenderBox box = tester.firstRenderObject(find.byType(CustomPaint)); @@ -1774,22 +1802,24 @@ void main() { expect(homeTapCount, 1); expect(pageTapCount, 0); - Navigator.push( - homeScaffoldKey.currentContext!, - CupertinoPageRoute( - builder: (BuildContext context) { - return CupertinoPageScaffold( - key: pageScaffoldKey, - child: Padding( - padding: const EdgeInsets.all(16), - child: GestureDetector( - onTap: () { - pageTapCount += 1; - }, + unawaited( + Navigator.push( + homeScaffoldKey.currentContext!, + CupertinoPageRoute( + builder: (BuildContext context) { + return CupertinoPageScaffold( + key: pageScaffoldKey, + child: Padding( + padding: const EdgeInsets.all(16), + child: GestureDetector( + onTap: () { + pageTapCount += 1; + }, + ), ), - ), - ); - }, + ); + }, + ), ), ); @@ -1893,7 +1923,7 @@ void main() { var box = tester.renderObject(find.byKey(container)) as RenderBox; final double initialPosition = box.localToGlobal(Offset.zero).dx; - navigator.currentState!.pushNamed('/page2'); + unawaited(navigator.currentState!.pushNamed('/page2')); await tester.pumpAndSettle(); box = tester.renderObject(find.byKey(container)) as RenderBox; final double finalPosition = box.localToGlobal(Offset.zero).dx; @@ -2906,7 +2936,7 @@ void main() { final double pageTitleDX = tester.getTopLeft(find.text('Page 1')).dx; - tester.state(find.byType(Navigator)).pushNamed('/next'); + unawaited(tester.state(find.byType(Navigator)).pushNamed('/next')); await tester.pump(); await tester.pump(const Duration(milliseconds: 100)); @@ -2955,10 +2985,12 @@ void main() { // Bring up dialog. final NavigatorState navigator = Navigator.of(savedContext); - navigator.push( - CupertinoDialogRoute( - context: savedContext, - builder: (BuildContext context) => const Text(dialogText), + unawaited( + navigator.push( + CupertinoDialogRoute( + context: savedContext, + builder: (BuildContext context) => const Text(dialogText), + ), ), ); await tester.pump(); @@ -2976,11 +3008,13 @@ void main() { expect(getCupertinoTextFieldFocusNode()?.hasFocus, true); // Bring up dialog again with requestFocus to false. - navigator.push( - CupertinoDialogRoute( - context: savedContext, - requestFocus: false, - builder: (BuildContext context) => const Text(dialogText), + unawaited( + navigator.push( + CupertinoDialogRoute( + context: savedContext, + requestFocus: false, + builder: (BuildContext context) => const Text(dialogText), + ), ), ); await tester.pump(); @@ -3029,8 +3063,10 @@ void main() { // Bring up popup. final NavigatorState navigator = Navigator.of(savedContext); - navigator.push( - CupertinoModalPopupRoute(builder: (BuildContext context) => const Text(dialogText)), + unawaited( + navigator.push( + CupertinoModalPopupRoute(builder: (BuildContext context) => const Text(dialogText)), + ), ); await tester.pump(); @@ -3047,10 +3083,12 @@ void main() { expect(getCupertinoTextFieldFocusNode()?.hasFocus, true); // Bring up popup again with requestFocus to false. - navigator.push( - CupertinoModalPopupRoute( - requestFocus: false, - builder: (BuildContext context) => const Text(dialogText), + unawaited( + navigator.push( + CupertinoModalPopupRoute( + requestFocus: false, + builder: (BuildContext context) => const Text(dialogText), + ), ), ); await tester.pump(); @@ -3083,11 +3121,13 @@ void main() { // Navigate to page two with text. final NavigatorState navigator = Navigator.of(savedContext); - navigator.push( - CupertinoPageRoute( - builder: (BuildContext context) { - return const Text(pageTwoText); - }, + unawaited( + navigator.push( + CupertinoPageRoute( + builder: (BuildContext context) { + return const Text(pageTwoText); + }, + ), ), ); await tester.pump(); @@ -3104,12 +3144,14 @@ void main() { await tester.pump(const Duration(milliseconds: 100)); // Advance route transition animation. // Navigate to page two again with requestFocus set to false. - navigator.push( - CupertinoPageRoute( - requestFocus: false, - builder: (BuildContext context) { - return const Text(pageTwoText); - }, + unawaited( + navigator.push( + CupertinoPageRoute( + requestFocus: false, + builder: (BuildContext context) { + return const Text(pageTwoText); + }, + ), ), ); await tester.pump(); From 625db0acae246a4c7fe14222fed2bf5954775237 Mon Sep 17 00:00:00 2001 From: Renzo Olivares Date: Thu, 25 Jun 2026 19:26:20 +0000 Subject: [PATCH 5/6] last unawaited --- packages/cupertino_ui/test/route_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cupertino_ui/test/route_test.dart b/packages/cupertino_ui/test/route_test.dart index 5ebf34f5583c..dea48563c2c6 100644 --- a/packages/cupertino_ui/test/route_test.dart +++ b/packages/cupertino_ui/test/route_test.dart @@ -231,12 +231,12 @@ void main() { }, ); - tester.state(find.byType(Navigator)).push(route2); + unawaited(tester.state(find.byType(Navigator)).push(route2)); await tester.pump(); await tester.pump(const Duration(milliseconds: 500)); - tester.state(find.byType(Navigator)).push(route3); + unawaited(tester.state(find.byType(Navigator)).push(route3)); await tester.pump(); await tester.pump(const Duration(milliseconds: 500)); From b15bfc64c997daad3572bd6b1c36dcf2c693c863 Mon Sep 17 00:00:00 2001 From: Renzo Olivares Date: Tue, 30 Jun 2026 23:07:11 +0000 Subject: [PATCH 6/6] remove ensureSemantics --- packages/cupertino_ui/test/route_test.dart | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/cupertino_ui/test/route_test.dart b/packages/cupertino_ui/test/route_test.dart index dea48563c2c6..ebd17dcd5f79 100644 --- a/packages/cupertino_ui/test/route_test.dart +++ b/packages/cupertino_ui/test/route_test.dart @@ -2071,8 +2071,6 @@ void main() { WidgetTester tester, ) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final SemanticsHandle handle = tester.ensureSemantics(); - await tester.pumpWidget( CupertinoApp( home: Navigator( @@ -2102,14 +2100,12 @@ void main() { expect(find.semantics.byLabel('Dismiss'), findsNothing); debugDefaultTargetPlatformOverride = null; - handle.dispose(); }); testWidgets('showCupertinoModalPopup allows for semantics dismiss when set', ( WidgetTester tester, ) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final SemanticsHandle handle = tester.ensureSemantics(); await tester.pumpWidget( CupertinoApp( @@ -2144,7 +2140,6 @@ void main() { ); debugDefaultTargetPlatformOverride = null; - handle.dispose(); }); testWidgets('showCupertinoModalPopup passes RouteSettings to PopupRoute', (