1
1
import 'package:flutter/widgets.dart' ;
2
+ import 'package:flutter_test/flutter_test.dart' ;
2
3
3
4
// Inspired by test code in the Flutter tree:
4
5
// https://github.com/flutter/flutter/blob/53082f65b/packages/flutter/test/widgets/observer_tester.dart
5
6
// https://github.com/flutter/flutter/blob/53082f65b/packages/flutter/test/widgets/navigator_test.dart
6
7
7
8
/// A trivial observer for testing the navigator.
8
- class TestNavigatorObserver extends NavigatorObserver {
9
+ class TestNavigatorObserver extends TransitionDurationObserver {
9
10
void Function (Route <dynamic > topRoute, Route <dynamic >? previousTopRoute)? onChangedTop;
10
11
void Function (Route <dynamic > route, Route <dynamic >? previousRoute)? onPushed;
11
12
void Function (Route <dynamic > route, Route <dynamic >? previousRoute)? onPopped;
@@ -16,36 +17,43 @@ class TestNavigatorObserver extends NavigatorObserver {
16
17
17
18
@override
18
19
void didChangeTop (Route <dynamic > topRoute, Route <dynamic >? previousTopRoute) {
20
+ super .didChangeTop (topRoute, previousTopRoute);
19
21
onChangedTop? .call (topRoute, previousTopRoute);
20
22
}
21
23
22
24
@override
23
25
void didPush (Route <dynamic > route, Route <dynamic >? previousRoute) {
26
+ super .didPush (route, previousRoute);
24
27
onPushed? .call (route, previousRoute);
25
28
}
26
29
27
30
@override
28
31
void didPop (Route <dynamic > route, Route <dynamic >? previousRoute) {
32
+ super .didPop (route, previousRoute);
29
33
onPopped? .call (route, previousRoute);
30
34
}
31
35
32
36
@override
33
37
void didRemove (Route <dynamic > route, Route <dynamic >? previousRoute) {
38
+ super .didRemove (route, previousRoute);
34
39
onRemoved? .call (route, previousRoute);
35
40
}
36
41
37
42
@override
38
43
void didReplace ({ Route <dynamic >? oldRoute, Route <dynamic >? newRoute }) {
44
+ super .didReplace (oldRoute: oldRoute, newRoute: newRoute);
39
45
onReplaced? .call (newRoute, oldRoute);
40
46
}
41
47
42
48
@override
43
49
void didStartUserGesture (Route <dynamic > route, Route <dynamic >? previousRoute) {
50
+ super .didStartUserGesture (route, previousRoute);
44
51
onStartUserGesture? .call (route, previousRoute);
45
52
}
46
53
47
54
@override
48
55
void didStopUserGesture () {
56
+ super .didStopUserGesture ();
49
57
onStopUserGesture? .call ();
50
58
}
51
59
}
0 commit comments