@@ -106,4 +106,48 @@ void main() {
106
106
await tester.pumpAndSettle ();
107
107
expect (find.text ('error' ), findsOneWidget);
108
108
});
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
+ });
109
153
}
0 commit comments