@@ -12,6 +12,7 @@ import 'test_helpers.dart';
1212Future <GoRouter > createGoRouter (
1313 WidgetTester tester, {
1414 Listenable ? refreshListenable,
15+ bool dispose = true ,
1516}) async {
1617 final GoRouter router = GoRouter (
1718 initialLocation: '/' ,
@@ -25,6 +26,9 @@ Future<GoRouter> createGoRouter(
2526 ],
2627 refreshListenable: refreshListenable,
2728 );
29+ if (dispose) {
30+ addTearDown (router.dispose);
31+ }
2832 await tester.pumpWidget (MaterialApp .router (
2933 routerConfig: router,
3034 ));
@@ -65,6 +69,7 @@ Future<GoRouter> createGoRouterWithStatefulShellRoute(
6569 ], builder: mockStackedShellBuilder),
6670 ],
6771 );
72+ addTearDown (router.dispose);
6873 await tester.pumpWidget (MaterialApp .router (
6974 routerConfig: router,
7075 ));
@@ -287,6 +292,7 @@ void main() {
287292 GoRoute (path: '/page-1' , builder: (_, __) => const SizedBox ()),
288293 ],
289294 );
295+ addTearDown (goRouter.dispose);
290296 await tester.pumpWidget (
291297 MaterialApp .router (
292298 routerConfig: goRouter,
@@ -369,6 +375,7 @@ void main() {
369375 builder: (_, __) => const SizedBox ()),
370376 ],
371377 );
378+ addTearDown (goRouter.dispose);
372379 await tester.pumpWidget (
373380 MaterialApp .router (
374381 routerConfig: goRouter,
@@ -418,6 +425,7 @@ void main() {
418425 GoRoute (path: '/page-1' , builder: (_, __) => const SizedBox ()),
419426 ],
420427 );
428+ addTearDown (goRouter.dispose);
421429 await tester.pumpWidget (
422430 MaterialApp .router (
423431 routerConfig: goRouter,
@@ -535,6 +543,7 @@ void main() {
535543 ),
536544 ],
537545 );
546+ addTearDown (router.dispose);
538547 await tester.pumpWidget (MaterialApp .router (
539548 routerConfig: router,
540549 ));
@@ -634,8 +643,13 @@ void main() {
634643 testWidgets ('dispose unsubscribes from refreshListenable' ,
635644 (WidgetTester tester) async {
636645 final FakeRefreshListenable refreshListenable = FakeRefreshListenable ();
637- final GoRouter goRouter =
638- await createGoRouter (tester, refreshListenable: refreshListenable);
646+ addTearDown (refreshListenable.dispose);
647+
648+ final GoRouter goRouter = await createGoRouter (
649+ tester,
650+ refreshListenable: refreshListenable,
651+ dispose: false ,
652+ );
639653 await tester.pumpWidget (Container ());
640654 goRouter.dispose ();
641655 expect (refreshListenable.unsubscribed, true );
0 commit comments