Showing
1 changed file
with
115 additions
and
138 deletions
@@ -6,9 +6,7 @@ import 'utils/wrapper.dart'; | @@ -6,9 +6,7 @@ import 'utils/wrapper.dart'; | ||
6 | 6 | ||
7 | void main() { | 7 | void main() { |
8 | testWidgets("Get.to navigates to provided route", (tester) async { | 8 | testWidgets("Get.to navigates to provided route", (tester) async { |
9 | - await tester.pumpWidget( | ||
10 | - Wrapper(child: Container()), | ||
11 | - ); | 9 | + await tester.pumpWidget(Wrapper(child: Container())); |
12 | 10 | ||
13 | Get.to(FirstScreen()); | 11 | Get.to(FirstScreen()); |
14 | 12 | ||
@@ -18,16 +16,14 @@ void main() { | @@ -18,16 +16,14 @@ void main() { | ||
18 | }); | 16 | }); |
19 | 17 | ||
20 | testWidgets("Get.toNamed navigates to provided named route", (tester) async { | 18 | testWidgets("Get.toNamed navigates to provided named route", (tester) async { |
21 | - await tester.pumpWidget( | ||
22 | - GetMaterialApp( | ||
23 | - initialRoute: '/first', | ||
24 | - getPages: [ | ||
25 | - GetPage(page: () => FirstScreen(), name: '/first'), | ||
26 | - GetPage(page: () => SecondScreen(), name: '/second'), | ||
27 | - GetPage(page: () => ThirdScreen(), name: '/third') | ||
28 | - ], | ||
29 | - ), | ||
30 | - ); | 19 | + await tester.pumpWidget(GetMaterialApp( |
20 | + initialRoute: '/first', | ||
21 | + getPages: [ | ||
22 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
23 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
24 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
25 | + ], | ||
26 | + )); | ||
31 | 27 | ||
32 | Get.toNamed('/second'); | 28 | Get.toNamed('/second'); |
33 | 29 | ||
@@ -37,9 +33,7 @@ void main() { | @@ -37,9 +33,7 @@ void main() { | ||
37 | }); | 33 | }); |
38 | 34 | ||
39 | testWidgets("Get.off navigates to provided route", (tester) async { | 35 | testWidgets("Get.off navigates to provided route", (tester) async { |
40 | - await tester.pumpWidget( | ||
41 | - Wrapper(child: FirstScreen()), | ||
42 | - ); | 36 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
43 | 37 | ||
44 | Get.off(SecondScreen()); | 38 | Get.off(SecondScreen()); |
45 | 39 | ||
@@ -49,9 +43,7 @@ void main() { | @@ -49,9 +43,7 @@ void main() { | ||
49 | }); | 43 | }); |
50 | 44 | ||
51 | testWidgets("Get.off removes current route", (tester) async { | 45 | testWidgets("Get.off removes current route", (tester) async { |
52 | - await tester.pumpWidget( | ||
53 | - Wrapper(child: FirstScreen()), | ||
54 | - ); | 46 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
55 | 47 | ||
56 | Get.off(SecondScreen()); | 48 | Get.off(SecondScreen()); |
57 | Get.back(); | 49 | Get.back(); |
@@ -62,16 +54,14 @@ void main() { | @@ -62,16 +54,14 @@ void main() { | ||
62 | }); | 54 | }); |
63 | 55 | ||
64 | testWidgets("Get.offNamed navigates to provided named route", (tester) async { | 56 | testWidgets("Get.offNamed navigates to provided named route", (tester) async { |
65 | - await tester.pumpWidget( | ||
66 | - GetMaterialApp( | ||
67 | - initialRoute: '/first', | ||
68 | - getPages: [ | ||
69 | - GetPage(name: '/first', page: () => FirstScreen()), | ||
70 | - GetPage(name: '/second', page: () => SecondScreen()), | ||
71 | - GetPage(name: '/third', page: () => ThirdScreen()), | ||
72 | - ], | ||
73 | - ), | ||
74 | - ); | 57 | + await tester.pumpWidget(GetMaterialApp( |
58 | + initialRoute: '/first', | ||
59 | + getPages: [ | ||
60 | + GetPage(name: '/first', page: () => FirstScreen()), | ||
61 | + GetPage(name: '/second', page: () => SecondScreen()), | ||
62 | + GetPage(name: '/third', page: () => ThirdScreen()), | ||
63 | + ], | ||
64 | + )); | ||
75 | 65 | ||
76 | Get.offNamed('/second'); | 66 | Get.offNamed('/second'); |
77 | 67 | ||
@@ -81,16 +71,14 @@ void main() { | @@ -81,16 +71,14 @@ void main() { | ||
81 | }); | 71 | }); |
82 | 72 | ||
83 | testWidgets("Get.offNamed removes current route", (tester) async { | 73 | testWidgets("Get.offNamed removes current route", (tester) async { |
84 | - await tester.pumpWidget( | ||
85 | - GetMaterialApp( | ||
86 | - initialRoute: '/first', | ||
87 | - getPages: [ | ||
88 | - GetPage(name: '/first', page: () => FirstScreen()), | ||
89 | - GetPage(name: '/second', page: () => SecondScreen()), | ||
90 | - GetPage(name: '/third', page: () => ThirdScreen()), | ||
91 | - ], | ||
92 | - ), | ||
93 | - ); | 74 | + await tester.pumpWidget(GetMaterialApp( |
75 | + initialRoute: '/first', | ||
76 | + getPages: [ | ||
77 | + GetPage(name: '/first', page: () => FirstScreen()), | ||
78 | + GetPage(name: '/second', page: () => SecondScreen()), | ||
79 | + GetPage(name: '/third', page: () => ThirdScreen()), | ||
80 | + ], | ||
81 | + )); | ||
94 | 82 | ||
95 | Get.offNamed('/second'); | 83 | Get.offNamed('/second'); |
96 | Get.back(); | 84 | Get.back(); |
@@ -101,16 +89,14 @@ void main() { | @@ -101,16 +89,14 @@ void main() { | ||
101 | }); | 89 | }); |
102 | 90 | ||
103 | testWidgets("Get.offNamed removes only current route", (tester) async { | 91 | testWidgets("Get.offNamed removes only current route", (tester) async { |
104 | - await tester.pumpWidget( | ||
105 | - GetMaterialApp( | ||
106 | - initialRoute: '/first', | ||
107 | - getPages: [ | ||
108 | - GetPage(name: '/first', page: () => FirstScreen()), | ||
109 | - GetPage(name: '/second', page: () => SecondScreen()), | ||
110 | - GetPage(name: '/third', page: () => ThirdScreen()), | ||
111 | - ], | ||
112 | - ), | ||
113 | - ); | 92 | + await tester.pumpWidget(GetMaterialApp( |
93 | + initialRoute: '/first', | ||
94 | + getPages: [ | ||
95 | + GetPage(name: '/first', page: () => FirstScreen()), | ||
96 | + GetPage(name: '/second', page: () => SecondScreen()), | ||
97 | + GetPage(name: '/third', page: () => ThirdScreen()), | ||
98 | + ], | ||
99 | + )); | ||
114 | 100 | ||
115 | Get.toNamed('/second'); | 101 | Get.toNamed('/second'); |
116 | Get.offNamed('/third'); | 102 | Get.offNamed('/third'); |
@@ -122,9 +108,7 @@ void main() { | @@ -122,9 +108,7 @@ void main() { | ||
122 | }); | 108 | }); |
123 | 109 | ||
124 | testWidgets("Get.offAll navigates to provided route", (tester) async { | 110 | testWidgets("Get.offAll navigates to provided route", (tester) async { |
125 | - await tester.pumpWidget( | ||
126 | - Wrapper(child: FirstScreen()), | ||
127 | - ); | 111 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
128 | 112 | ||
129 | Get.offAll(SecondScreen()); | 113 | Get.offAll(SecondScreen()); |
130 | 114 | ||
@@ -134,9 +118,7 @@ void main() { | @@ -134,9 +118,7 @@ void main() { | ||
134 | }); | 118 | }); |
135 | 119 | ||
136 | testWidgets("Get.offAll removes all previous routes", (tester) async { | 120 | testWidgets("Get.offAll removes all previous routes", (tester) async { |
137 | - await tester.pumpWidget( | ||
138 | - Wrapper(child: FirstScreen()), | ||
139 | - ); | 121 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
140 | 122 | ||
141 | Get.to(SecondScreen()); | 123 | Get.to(SecondScreen()); |
142 | Get.offAll(ThirdScreen()); | 124 | Get.offAll(ThirdScreen()); |
@@ -155,16 +137,14 @@ void main() { | @@ -155,16 +137,14 @@ void main() { | ||
155 | 137 | ||
156 | testWidgets("Get.offAllNamed navigates to provided named route", | 138 | testWidgets("Get.offAllNamed navigates to provided named route", |
157 | (tester) async { | 139 | (tester) async { |
158 | - await tester.pumpWidget( | ||
159 | - WrapperNamed( | ||
160 | - initialRoute: '/first', | ||
161 | - namedRoutes: [ | ||
162 | - GetPage(page: () => FirstScreen(), name: '/first'), | ||
163 | - GetPage(page: () => SecondScreen(), name: '/second'), | ||
164 | - GetPage(page: () => ThirdScreen(), name: '/third') | ||
165 | - ], | ||
166 | - ), | ||
167 | - ); | 140 | + await tester.pumpWidget(WrapperNamed( |
141 | + initialRoute: '/first', | ||
142 | + namedRoutes: [ | ||
143 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
144 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
145 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
146 | + ], | ||
147 | + )); | ||
168 | 148 | ||
169 | Get.toNamed('/second'); | 149 | Get.toNamed('/second'); |
170 | 150 | ||
@@ -174,16 +154,14 @@ void main() { | @@ -174,16 +154,14 @@ void main() { | ||
174 | }); | 154 | }); |
175 | 155 | ||
176 | testWidgets("Get.offAllNamed removes all previous routes", (tester) async { | 156 | testWidgets("Get.offAllNamed removes all previous routes", (tester) async { |
177 | - await tester.pumpWidget( | ||
178 | - WrapperNamed( | ||
179 | - initialRoute: '/first', | ||
180 | - namedRoutes: [ | ||
181 | - GetPage(page: () => FirstScreen(), name: '/first'), | ||
182 | - GetPage(page: () => SecondScreen(), name: '/second'), | ||
183 | - GetPage(page: () => ThirdScreen(), name: '/third') | ||
184 | - ], | ||
185 | - ), | ||
186 | - ); | 157 | + await tester.pumpWidget(WrapperNamed( |
158 | + initialRoute: '/first', | ||
159 | + namedRoutes: [ | ||
160 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
161 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
162 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
163 | + ], | ||
164 | + )); | ||
187 | 165 | ||
188 | Get.toNamed('/second'); | 166 | Get.toNamed('/second'); |
189 | Get.offAllNamed('/third'); | 167 | Get.offAllNamed('/third'); |
@@ -201,16 +179,14 @@ void main() { | @@ -201,16 +179,14 @@ void main() { | ||
201 | }); | 179 | }); |
202 | 180 | ||
203 | testWidgets("Get.offAndToNamed navigates to provided route", (tester) async { | 181 | testWidgets("Get.offAndToNamed navigates to provided route", (tester) async { |
204 | - await tester.pumpWidget( | ||
205 | - WrapperNamed( | ||
206 | - initialRoute: '/first', | ||
207 | - namedRoutes: [ | ||
208 | - GetPage(page: () => FirstScreen(), name: '/first'), | ||
209 | - GetPage(page: () => SecondScreen(), name: '/second'), | ||
210 | - GetPage(page: () => ThirdScreen(), name: '/third') | ||
211 | - ], | ||
212 | - ), | ||
213 | - ); | 182 | + await tester.pumpWidget(WrapperNamed( |
183 | + initialRoute: '/first', | ||
184 | + namedRoutes: [ | ||
185 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
186 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
187 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
188 | + ], | ||
189 | + )); | ||
214 | 190 | ||
215 | Get.offAndToNamed('/second'); | 191 | Get.offAndToNamed('/second'); |
216 | 192 | ||
@@ -220,16 +196,14 @@ void main() { | @@ -220,16 +196,14 @@ void main() { | ||
220 | }); | 196 | }); |
221 | 197 | ||
222 | testWidgets("Get.offAndToNamed removes previous route", (tester) async { | 198 | testWidgets("Get.offAndToNamed removes previous route", (tester) async { |
223 | - await tester.pumpWidget( | ||
224 | - WrapperNamed( | ||
225 | - initialRoute: '/first', | ||
226 | - namedRoutes: [ | ||
227 | - GetPage(page: () => FirstScreen(), name: '/first'), | ||
228 | - GetPage(page: () => SecondScreen(), name: '/second'), | ||
229 | - GetPage(page: () => ThirdScreen(), name: '/third') | ||
230 | - ], | ||
231 | - ), | ||
232 | - ); | 199 | + await tester.pumpWidget(WrapperNamed( |
200 | + initialRoute: '/first', | ||
201 | + namedRoutes: [ | ||
202 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
203 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
204 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
205 | + ], | ||
206 | + )); | ||
233 | 207 | ||
234 | Get.offAndToNamed('/second'); | 208 | Get.offAndToNamed('/second'); |
235 | Get.back(); | 209 | Get.back(); |
@@ -240,11 +214,7 @@ void main() { | @@ -240,11 +214,7 @@ void main() { | ||
240 | }); | 214 | }); |
241 | 215 | ||
242 | testWidgets("Get.offUntil navigates to provided route", (tester) async { | 216 | testWidgets("Get.offUntil navigates to provided route", (tester) async { |
243 | - await tester.pumpWidget( | ||
244 | - Wrapper( | ||
245 | - child: FirstScreen(), | ||
246 | - ), | ||
247 | - ); | 217 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
248 | 218 | ||
249 | Get.offUntil(GetPageRoute(page: () => ThirdScreen()), | 219 | Get.offUntil(GetPageRoute(page: () => ThirdScreen()), |
250 | (route) => (route as GetPageRoute).routeName == '/FirstScreen'); | 220 | (route) => (route as GetPageRoute).routeName == '/FirstScreen'); |
@@ -257,13 +227,8 @@ void main() { | @@ -257,13 +227,8 @@ void main() { | ||
257 | testWidgets( | 227 | testWidgets( |
258 | "Get.offUntil removes previous routes if they don't match predicate", | 228 | "Get.offUntil removes previous routes if they don't match predicate", |
259 | (tester) async { | 229 | (tester) async { |
260 | - await tester.pumpWidget( | ||
261 | - Wrapper( | ||
262 | - child: Container(), | ||
263 | - ), | ||
264 | - ); | 230 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
265 | 231 | ||
266 | - Get.to(FirstScreen()); | ||
267 | Get.to(SecondScreen()); | 232 | Get.to(SecondScreen()); |
268 | Get.offUntil(GetPageRoute(page: () => ThirdScreen()), | 233 | Get.offUntil(GetPageRoute(page: () => ThirdScreen()), |
269 | (route) => (route as GetPageRoute).routeName == '/FirstScreen'); | 234 | (route) => (route as GetPageRoute).routeName == '/FirstScreen'); |
@@ -277,11 +242,7 @@ void main() { | @@ -277,11 +242,7 @@ void main() { | ||
277 | testWidgets( | 242 | testWidgets( |
278 | "Get.offUntil leaves previous routes that match provided predicate", | 243 | "Get.offUntil leaves previous routes that match provided predicate", |
279 | (tester) async { | 244 | (tester) async { |
280 | - await tester.pumpWidget( | ||
281 | - Wrapper( | ||
282 | - child: Container(), | ||
283 | - ), | ||
284 | - ); | 245 | + await tester.pumpWidget(Wrapper(child: Container())); |
285 | 246 | ||
286 | Get.to(FirstScreen()); | 247 | Get.to(FirstScreen()); |
287 | Get.to(SecondScreen()); | 248 | Get.to(SecondScreen()); |
@@ -294,40 +255,57 @@ void main() { | @@ -294,40 +255,57 @@ void main() { | ||
294 | expect(find.byType(FirstScreen), findsOneWidget); | 255 | expect(find.byType(FirstScreen), findsOneWidget); |
295 | }); | 256 | }); |
296 | 257 | ||
297 | - testWidgets("Get.offNamedUntil smoke test", (tester) async { | ||
298 | - await tester.pumpWidget( | ||
299 | - WrapperNamed( | ||
300 | - initialRoute: '/', | ||
301 | - namedRoutes: [ | ||
302 | - GetPage( | ||
303 | - page: () => Container(), | ||
304 | - name: '/', | ||
305 | - popGesture: true, | ||
306 | - transition: Transition.cupertino), | ||
307 | - GetPage( | ||
308 | - page: () => FirstScreen(), | ||
309 | - name: '/first', | ||
310 | - transition: Transition.size), | ||
311 | - GetPage( | ||
312 | - page: () => SecondScreen(), name: '/second', transition: null), | ||
313 | - GetPage(page: () => ThirdScreen(), name: '/third'), | ||
314 | - ], | ||
315 | - ), | ||
316 | - ); | 258 | + testWidgets("Get.offNamedUntil navigates to provided route", (tester) async { |
259 | + await tester.pumpWidget(WrapperNamed( | ||
260 | + initialRoute: '/first', | ||
261 | + namedRoutes: [ | ||
262 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
263 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
264 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
265 | + ], | ||
266 | + )); | ||
317 | 267 | ||
318 | - Get.toNamed('/first'); | ||
319 | - Get.toNamed('/second'); | 268 | + Get.offNamedUntil('/second', ModalRoute.withName('/first')); |
320 | 269 | ||
321 | await tester.pumpAndSettle(); | 270 | await tester.pumpAndSettle(); |
322 | 271 | ||
323 | expect(find.byType(SecondScreen), findsOneWidget); | 272 | expect(find.byType(SecondScreen), findsOneWidget); |
273 | + }); | ||
274 | + | ||
275 | + testWidgets( | ||
276 | + "Get.offNamedUntil removes previous routes if they don't match predicate", | ||
277 | + (tester) async { | ||
278 | + await tester.pumpWidget(WrapperNamed( | ||
279 | + initialRoute: '/first', | ||
280 | + namedRoutes: [ | ||
281 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
282 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
283 | + GetPage(page: () => ThirdScreen(), name: '/third') | ||
284 | + ], | ||
285 | + )); | ||
324 | 286 | ||
287 | + Get.toNamed('/second'); | ||
325 | Get.offNamedUntil('/third', ModalRoute.withName('/first')); | 288 | Get.offNamedUntil('/third', ModalRoute.withName('/first')); |
326 | 289 | ||
327 | await tester.pumpAndSettle(); | 290 | await tester.pumpAndSettle(); |
328 | 291 | ||
329 | - expect(find.byType(ThirdScreen), findsOneWidget); | 292 | + expect(find.byType(SecondScreen), findsNothing); |
293 | + }); | ||
330 | 294 | ||
295 | + testWidgets( | ||
296 | + "Get.offNamedUntil leaves previous routes that match provided predicate", | ||
297 | + (tester) async { | ||
298 | + await tester.pumpWidget(WrapperNamed( | ||
299 | + initialRoute: '/first', | ||
300 | + namedRoutes: [ | ||
301 | + GetPage(page: () => FirstScreen(), name: '/first'), | ||
302 | + GetPage(page: () => SecondScreen(), name: '/second'), | ||
303 | + GetPage(page: () => ThirdScreen(), name: '/third'), | ||
304 | + ], | ||
305 | + )); | ||
306 | + | ||
307 | + Get.toNamed('/second'); | ||
308 | + Get.offNamedUntil('/third', ModalRoute.withName('/first')); | ||
331 | Get.back(); | 309 | Get.back(); |
332 | 310 | ||
333 | await tester.pumpAndSettle(); | 311 | await tester.pumpAndSettle(); |
@@ -348,11 +326,10 @@ void main() { | @@ -348,11 +326,10 @@ void main() { | ||
348 | expect(find.byType(FirstScreen), findsOneWidget); | 326 | expect(find.byType(FirstScreen), findsOneWidget); |
349 | }); | 327 | }); |
350 | 328 | ||
351 | - testWidgets("Get.back closeOverlays closes both snackbar and current route", | 329 | + testWidgets( |
330 | + "Get.back with closeOverlays pops both snackbar and current route", | ||
352 | (tester) async { | 331 | (tester) async { |
353 | - await tester.pumpWidget( | ||
354 | - Wrapper(child: FirstScreen()), | ||
355 | - ); | 332 | + await tester.pumpWidget(Wrapper(child: FirstScreen())); |
356 | 333 | ||
357 | Get.to(SecondScreen()); | 334 | Get.to(SecondScreen()); |
358 | Get.snackbar('title', "message"); | 335 | Get.snackbar('title', "message"); |
-
Please register or login to post a comment