@@ -106,4 +106,48 @@ void main() {
106106 await tester.pumpAndSettle ();
107107 expect (find.text ('error' ), findsOneWidget);
108108 });
109+
110+ testWidgets ('routing config works with named route' ,
111+ (WidgetTester tester) async {
112+ final ValueNotifier <RoutingConfig > config = ValueNotifier <RoutingConfig >(
113+ RoutingConfig (
114+ routes: < RouteBase > [
115+ GoRoute (path: '/' , builder: (_, __) => const Text ('home' )),
116+ GoRoute (
117+ path: '/abc' ,
118+ name: 'abc' ,
119+ builder: (_, __) => const Text ('/abc' )),
120+ ],
121+ ),
122+ );
123+ final GoRouter router = await createRouterWithRoutingConfig (
124+ config,
125+ tester,
126+ errorBuilder: (_, __) => const Text ('error' ),
127+ );
128+ expect (find.text ('home' ), findsOneWidget);
129+ // Sanity check.
130+ router.goNamed ('abc' );
131+ await tester.pumpAndSettle ();
132+ expect (find.text ('/abc' ), findsOneWidget);
133+
134+ config.value = RoutingConfig (
135+ routes: < RouteBase > [
136+ GoRoute (
137+ path: '/' , name: 'home' , builder: (_, __) => const Text ('home' )),
138+ GoRoute (
139+ path: '/abc' , name: 'def' , builder: (_, __) => const Text ('def' )),
140+ ],
141+ );
142+ await tester.pumpAndSettle ();
143+ expect (find.text ('def' ), findsOneWidget);
144+
145+ router.goNamed ('home' );
146+ await tester.pumpAndSettle ();
147+ expect (find.text ('home' ), findsOneWidget);
148+
149+ router.goNamed ('def' );
150+ await tester.pumpAndSettle ();
151+ expect (find.text ('def' ), findsOneWidget);
152+ });
109153}
0 commit comments