Volodymyr Buberenko

Update tests, fix predicate for offNamedUntil

@@ -618,7 +618,7 @@ extension GetNavigation on GetInterface { @@ -618,7 +618,7 @@ extension GetNavigation on GetInterface {
618 /// as explained in documentation 618 /// as explained in documentation
619 /// 619 ///
620 /// [predicate] can be used like this: 620 /// [predicate] can be used like this:
621 - /// `Get.offNamedUntil(page, (route) => (route as GetPageRoute).routeName == '/home')` 621 + /// `Get.offNamedUntil(page, ModalRoute.withName('/home'))`
622 /// to pop routes in stack until home, 622 /// to pop routes in stack until home,
623 /// or like this: 623 /// or like this:
624 /// `Get.offNamedUntil((route) => !Get.isDialogOpen())`, 624 /// `Get.offNamedUntil((route) => !Get.isDialogOpen())`,
1 import 'package:flutter/material.dart'; 1 import 'package:flutter/material.dart';
2 import 'package:flutter_test/flutter_test.dart'; 2 import 'package:flutter_test/flutter_test.dart';
3 import 'package:get/get.dart'; 3 import 'package:get/get.dart';
  4 +
4 import 'utils/wrapper.dart'; 5 import 'utils/wrapper.dart';
5 6
6 class SizeTransitions extends CustomTransition { 7 class SizeTransitions extends CustomTransition {
@@ -198,16 +199,21 @@ void main() { @@ -198,16 +199,21 @@ void main() {
198 199
199 await tester.pumpAndSettle(); 200 await tester.pumpAndSettle();
200 201
201 - expect(find.byType(FirstScreen), findsOneWidget); 202 + Get.to(SecondScreen());
202 203
203 - Get.offUntil(  
204 - MaterialPageRoute(builder: (context) => SecondScreen()),  
205 - ModalRoute.withName('/'),  
206 - ); 204 + await tester.pumpAndSettle();
  205 +
  206 + Get.offUntil(GetPageRoute(page: () => ThirdScreen()),
  207 + (route) => (route as GetPageRoute).routeName == '/FirstScreen');
207 208
208 await tester.pumpAndSettle(); 209 await tester.pumpAndSettle();
209 210
210 - expect(find.byType(SecondScreen), findsOneWidget); 211 + expect(find.byType(ThirdScreen), findsOneWidget);
  212 + Get.back();
  213 +
  214 + await tester.pumpAndSettle();
  215 +
  216 + expect(find.byType(FirstScreen), findsOneWidget);
211 }); 217 });
212 218
213 testWidgets("Get.offNamedUntil smoke test", (tester) async { 219 testWidgets("Get.offNamedUntil smoke test", (tester) async {
@@ -232,12 +238,19 @@ void main() { @@ -232,12 +238,19 @@ void main() {
232 ); 238 );
233 239
234 Get.toNamed('/first'); 240 Get.toNamed('/first');
  241 + Get.toNamed('/second');
235 242
236 await tester.pumpAndSettle(); 243 await tester.pumpAndSettle();
237 244
238 - expect(find.byType(FirstScreen), findsOneWidget); 245 + expect(find.byType(SecondScreen), findsOneWidget);
  246 +
  247 + Get.offNamedUntil('/third', ModalRoute.withName('/first'));
239 248
240 - Get.offNamedUntil('/first', ModalRoute.withName('/')); 249 + await tester.pumpAndSettle();
  250 +
  251 + expect(find.byType(ThirdScreen), findsOneWidget);
  252 +
  253 + Get.back();
241 254
242 await tester.pumpAndSettle(); 255 await tester.pumpAndSettle();
243 256