@@ -975,6 +975,66 @@ void main() {
975
975
observer.didReplace (newRoute: route (to), oldRoute: route (previous));
976
976
expect (hub.scope.transaction, 'to_test' );
977
977
});
978
+
979
+ test ('ignores Route and prevents recognition of this route for didPush' ,
980
+ () async {
981
+ final firstRoute = route (RouteSettings (name: 'default' ));
982
+ final secondRoute = route (RouteSettings (name: 'testRoute' ));
983
+
984
+ final hub = _MockHub ();
985
+
986
+ final sut = fixture.getSut (hub: hub, ignoreRoutes: ["testRoute" ]);
987
+
988
+ sut.didPush (firstRoute, null );
989
+ expect (
990
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
991
+ sut.didPush (secondRoute, firstRoute);
992
+ expect (
993
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
994
+ sut.didPush (firstRoute, secondRoute);
995
+ expect (
996
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
997
+ });
998
+
999
+ test ('ignores Route and prevents recognition of this route for didPop' ,
1000
+ () async {
1001
+ final firstRoute = route (RouteSettings (name: 'default' ));
1002
+ final secondRoute = route (RouteSettings (name: 'testRoute' ));
1003
+
1004
+ final hub = _MockHub ();
1005
+
1006
+ final sut = fixture.getSut (hub: hub, ignoreRoutes: ["testRoute" ]);
1007
+
1008
+ sut.didPush (firstRoute, null );
1009
+ expect (
1010
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
1011
+ sut.didPush (secondRoute, firstRoute);
1012
+ expect (
1013
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
1014
+ sut.didPop (firstRoute, secondRoute);
1015
+ expect (
1016
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
1017
+ });
1018
+
1019
+ test ('ignores Route and prevents recognition of this route for didReplace' ,
1020
+ () async {
1021
+ final firstRoute = route (RouteSettings (name: 'default' ));
1022
+ final secondRoute = route (RouteSettings (name: 'testRoute' ));
1023
+
1024
+ final hub = _MockHub ();
1025
+
1026
+ final sut = fixture.getSut (hub: hub, ignoreRoutes: ["testRoute" ]);
1027
+
1028
+ sut.didReplace (newRoute: firstRoute);
1029
+ expect (
1030
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
1031
+ sut.didReplace (newRoute: secondRoute, oldRoute: firstRoute);
1032
+ expect (
1033
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
1034
+ sut.didReplace (newRoute: firstRoute, oldRoute: secondRoute);
1035
+ expect (
1036
+ SentryNavigatorObserver .currentRouteName, firstRoute.settings.name);
1037
+ });
978
1038
});
979
1039
}
980
1040
@@ -987,6 +1047,7 @@ class Fixture {
987
1047
RouteNameExtractor ? routeNameExtractor,
988
1048
AdditionalInfoExtractor ? additionalInfoProvider,
989
1049
bool enableTimeToFullDisplayTracing = false ,
1050
+ List <String >? ignoreRoutes,
990
1051
}) {
991
1052
final frameCallbackHandler = FakeFrameCallbackHandler ();
992
1053
final timeToInitialDisplayTracker =
@@ -1003,6 +1064,7 @@ class Fixture {
1003
1064
routeNameExtractor: routeNameExtractor,
1004
1065
additionalInfoProvider: additionalInfoProvider,
1005
1066
timeToDisplayTracker: timeToDisplayTracker,
1067
+ ignoreRoutes: ignoreRoutes,
1006
1068
);
1007
1069
}
1008
1070
0 commit comments