diff --git a/pkgs/fake_async/pubspec.yaml b/pkgs/fake_async/pubspec.yaml index 28870a9ea..4ca22a23e 100644 --- a/pkgs/fake_async/pubspec.yaml +++ b/pkgs/fake_async/pubspec.yaml @@ -5,7 +5,7 @@ description: >- testing. repository: https://github.com/dart-lang/test/tree/master/pkgs/fake_async environment: - sdk: ^3.3.0 + sdk: ^3.5.0 dependencies: clock: ^1.1.0 diff --git a/pkgs/fake_async/test/fake_async_test.dart b/pkgs/fake_async/test/fake_async_test.dart index e6c402a36..8a22d39fc 100644 --- a/pkgs/fake_async/test/fake_async_test.dart +++ b/pkgs/fake_async/test/fake_async_test.dart @@ -829,15 +829,16 @@ void main() { log.clear(); async.flushMicrotasks(); - expect(log, ['run0', '#1()']); + // Some zone implementations may introduce extra `run` calls. + expect(log.tail(2), ['run0', '#1()']); log.clear(); async.elapse(elapseBy); - expect(log, ['run0', '#2()']); + expect(log.tail(2), ['run0', '#2()']); log.clear(); async.elapse(elapseBy); - expect(log, ['run1', '#3(_)']); + expect(log.tail(2), ['run1', '#3(_)']); zone.run(() { log.clear(); @@ -852,15 +853,15 @@ void main() { log.clear(); async.flushMicrotasks(); - expect(log, ['run0', '#4()', 'ERR(microtask error)']); + expect(log.tail(3), ['run0', '#4()', 'ERR(microtask error)']); log.clear(); async.elapse(elapseBy); - expect(log, ['run0', '#5()', 'ERR(timer error)']); + expect(log.tail(3), ['run0', '#5()', 'ERR(timer error)']); log.clear(); async.elapse(elapseBy); - expect(log, ['run1', '#3(_)', 'ERR(periodic timer error)']); + expect(log.tail(3), ['run1', '#3(_)', 'ERR(periodic timer error)']); log.clear(); }); }); @@ -872,3 +873,7 @@ Matcher _closeToTime(DateTime expected) => predicate( (actual) => expected.difference(actual as DateTime).inMilliseconds.abs() < 100, 'is close to $expected'); + +extension on List { + List tail(int count) => sublist(length - count); +}