Skip to content

Commit 9bedc01

Browse files
committed
fix scheduler tests
1 parent ae34a38 commit 9bedc01

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

flutter/test/replay/scheduler_test.dart

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ void main() {
6363
expect(fixture.calls, 0);
6464
await fixture.drawFrame();
6565
expect(fixture.calls, 1);
66-
await fixture.drawFrame();
67-
await fixture.drawFrame();
68-
await fixture.drawFrame();
66+
await fixture
67+
.drawFrame()
68+
.timeout(const Duration(milliseconds: 200), onTimeout: () => null);
6969
expect(fixture.calls, 1);
7070

7171
guard.complete();
@@ -77,7 +77,7 @@ void main() {
7777
class _Fixture {
7878
var calls = 0;
7979
late final Scheduler sut;
80-
FrameCallback? registeredCallback;
80+
var registeredCallback = Completer<FrameCallback>();
8181
var _frames = 0;
8282

8383
_Fixture([SchedulerCallback? callback]) {
@@ -93,17 +93,18 @@ class _Fixture {
9393

9494
void _addPostFrameCallbackMock(FrameCallback callback,
9595
{String debugLabel = 'callback'}) {
96-
registeredCallback = callback;
96+
if (!registeredCallback.isCompleted) {
97+
registeredCallback.complete(callback);
98+
}
9799
}
98100

99101
factory _Fixture.started() {
100102
return _Fixture()..sut.start();
101103
}
102104

103-
Future<void> drawFrame() async {
104-
await Future.delayed(const Duration(milliseconds: 8), () {});
105-
_frames++;
106-
registeredCallback?.call(Duration(milliseconds: _frames));
107-
registeredCallback = null;
105+
Future<void> drawFrame() {
106+
registeredCallback = Completer<FrameCallback>();
107+
return registeredCallback.future
108+
.then((fn) => fn(Duration(milliseconds: ++_frames)));
108109
}
109110
}

0 commit comments

Comments
 (0)