From a56fa947a9a5b0e75dada0acb13b22d30351dbb2 Mon Sep 17 00:00:00 2001 From: "Lasse R.H. Nielsen" Date: Fri, 24 Jan 2025 15:16:53 +0100 Subject: [PATCH] Accept extra `run`s in test. Move to Dart 3.5. --- pkgs/fake_async/pubspec.yaml | 2 +- pkgs/fake_async/test/fake_async_test.dart | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) 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); +}