@@ -57,15 +57,41 @@ void main() {
5757 order += 1 ;
5858 });
5959
60- testWidgets ('timeStamp should be accurate' , (WidgetTester tester) async {
61- final WidgetsBinding widgetsBinding = WidgetsFlutterBinding .ensureInitialized ();
60+ group ('"accurate" argument in pump' , () {
61+ testWidgets (
62+ 'when accurate=true, timeStamp should be truncated for compatibility' ,
63+ (WidgetTester tester) async {
64+ final WidgetsBinding widgetsBinding =
65+ WidgetsFlutterBinding .ensureInitialized ();
66+
67+ await tester.pumpWidget (const CircularProgressIndicator ());
68+
69+ final Duration timeStampBefore =
70+ widgetsBinding.currentSystemFrameTimeStamp;
71+ await tester.pump (const Duration (microseconds: 12345 ));
72+ final Duration timeStampAfter =
73+ widgetsBinding.currentSystemFrameTimeStamp;
74+
75+ expect (timeStampAfter - timeStampBefore,
76+ const Duration (microseconds: 12000 ));
77+ });
78+
79+ testWidgets ('when accurate=true, timeStamp should be accurate' ,
80+ (WidgetTester tester) async {
81+ final AutomatedTestWidgetsFlutterBinding widgetsBinding =
82+ AutomatedTestWidgetsFlutterBinding .ensureInitialized ();
83+ widgetsBinding.accuratePump = true ;
6284
63- await tester.pumpWidget (const CircularProgressIndicator ());
85+ await tester.pumpWidget (const CircularProgressIndicator ());
6486
65- final Duration timeStampBefore = widgetsBinding.currentSystemFrameTimeStamp;
66- await tester.pump (const Duration (microseconds: 12345 ));
67- final Duration timeStampAfter = widgetsBinding.currentSystemFrameTimeStamp;
87+ final Duration timeStampBefore =
88+ widgetsBinding.currentSystemFrameTimeStamp;
89+ await tester.pump (const Duration (microseconds: 12345 ));
90+ final Duration timeStampAfter =
91+ widgetsBinding.currentSystemFrameTimeStamp;
6892
69- expect (timeStampAfter - timeStampBefore, const Duration (microseconds: 12345 ));
93+ expect (timeStampAfter - timeStampBefore,
94+ const Duration (microseconds: 12345 ));
95+ });
7096 });
7197}
0 commit comments