Jonatas

update to 3.25.4

## [3.25.4]
- Added logs and tests to unknownRoute
## [3.25.3]
- Fix bindStream error 'Object.noSuchMethod'.
... ...
import 'package:get/get_core/src/get_main.dart';
import '../../get_navigation.dart';
import '../routes/get_route.dart';
... ... @@ -14,10 +16,15 @@ class ParseRouteTree {
final uri = Uri.parse(name);
final route = _findRoute(uri.path);
final params = Map<String, String>.from(uri.queryParameters);
final parsedParams = _parseParams(name, route?.path);
if (parsedParams != null && parsedParams.isNotEmpty) {
params.addAll(parsedParams);
if (route != null) {
final parsedParams = _parseParams(name, route.path);
if (parsedParams != null && parsedParams.isNotEmpty) {
params.addAll(parsedParams);
}
} else {
Get.log('Route "${uri.path}" not found');
}
return RouteDecoder(route, params);
}
... ...
... ... @@ -172,7 +172,7 @@ class PageRedirect {
page: unknownRoute.page,
parameter: unknownRoute.parameter,
settings: RouteSettings(
name: settings.name, arguments: settings.arguments),
name: unknownRoute.name, arguments: settings.arguments),
curve: unknownRoute.curve,
opaque: unknownRoute.opaque,
customTransition: unknownRoute.customTransition,
... ...
name: get
description: Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetX.
version: 3.25.3
version: 3.25.4
homepage: https://github.com/jonataslaw/getx
environment:
... ...
... ... @@ -32,6 +32,24 @@ void main() {
expect(find.byType(SecondScreen), findsOneWidget);
});
testWidgets("unknowroute", (tester) async {
await tester.pumpWidget(GetMaterialApp(
initialRoute: '/first',
unknownRoute: GetPage(name: '/404', page: () => Scaffold()),
getPages: [
GetPage(page: () => FirstScreen(), name: '/first'),
GetPage(page: () => SecondScreen(), name: '/second'),
GetPage(page: () => ThirdScreen(), name: '/third')
],
));
Get.toNamed('/secondd');
await tester.pumpAndSettle();
expect(Get.currentRoute, '/404');
});
testWidgets("Get.off navigates to provided route", (tester) async {
await tester.pumpWidget(Wrapper(child: FirstScreen()));
... ...