From 77718845dd686effbf48b30c85a077f33d033b7c Mon Sep 17 00:00:00 2001 From: Polina Cherkasova Date: Thu, 21 Sep 2023 10:06:21 -0700 Subject: [PATCH] Handle breaking changes in leak_tracker. (#135185) --- packages/flutter/pubspec.yaml | 8 ++++---- .../material/material_states_controller_test.dart | 7 +++++-- .../flutter/test/services/restoration_test.dart | 5 ++++- .../flutter/test/widgets/focus_manager_test.dart | 14 ++++++++++---- .../test/widgets/restorable_property_test.dart | 5 ++++- packages/flutter/test/widgets/router_test.dart | 10 ++++++---- .../test/widgets/scroll_controller_test.dart | 7 +++++-- packages/flutter/test/widgets/shortcuts_test.dart | 14 ++++++++++---- 8 files changed, 48 insertions(+), 22 deletions(-) diff --git a/packages/flutter/pubspec.yaml b/packages/flutter/pubspec.yaml index 9ec0802481..f0c56c262b 100644 --- a/packages/flutter/pubspec.yaml +++ b/packages/flutter/pubspec.yaml @@ -22,8 +22,8 @@ dev_dependencies: flutter_goldens: sdk: flutter fake_async: 1.3.1 - leak_tracker: 9.0.6 - leak_tracker_flutter_testing: 1.0.3 + leak_tracker: 9.0.7 + leak_tracker_flutter_testing: 1.0.5 _fe_analyzer_shared: 64.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" analyzer: 6.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -42,7 +42,7 @@ dev_dependencies: intl: 0.18.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" io: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" js: 0.6.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" - leak_tracker_testing: 1.0.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" + leak_tracker_testing: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" logging: 1.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" matcher: 0.12.16 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" mime: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" @@ -74,4 +74,4 @@ dev_dependencies: webkit_inspection_protocol: 1.2.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" yaml: 3.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade" -# PUBSPEC CHECKSUM: 5f92 +# PUBSPEC CHECKSUM: a796 diff --git a/packages/flutter/test/material/material_states_controller_test.dart b/packages/flutter/test/material/material_states_controller_test.dart index f797d34e34..275c103411 100644 --- a/packages/flutter/test/material/material_states_controller_test.dart +++ b/packages/flutter/test/material/material_states_controller_test.dart @@ -13,8 +13,11 @@ void main() { expect(MaterialStatesController({MaterialState.selected}).value, {MaterialState.selected}); }); - test('MaterialStatesController dispatches memory events', () { - expect(()=> MaterialStatesController().dispose(), dispatchesMemoryEvents(MaterialStatesController)); + test('MaterialStatesController dispatches memory events', () async { + await expectLater( + await memoryEvents(() => MaterialStatesController().dispose(), MaterialStatesController), + areCreateAndDispose, + ); }); test('MaterialStatesController update, listener', () { diff --git a/packages/flutter/test/services/restoration_test.dart b/packages/flutter/test/services/restoration_test.dart index c82224ac59..dc3472dcde 100644 --- a/packages/flutter/test/services/restoration_test.dart +++ b/packages/flutter/test/services/restoration_test.dart @@ -14,7 +14,10 @@ import 'restoration.dart'; void main() { testWidgetsWithLeakTracking('$RestorationManager dispatches memory events', (WidgetTester tester) async { - expect(() => RestorationManager().dispose(), dispatchesMemoryEvents(RestorationManager)); + await expectLater( + await memoryEvents(() => RestorationManager().dispose(), RestorationManager), + areCreateAndDispose, + ); }); group('RestorationManager', () { diff --git a/packages/flutter/test/widgets/focus_manager_test.dart b/packages/flutter/test/widgets/focus_manager_test.dart index fea504a93e..8e3cfb9974 100644 --- a/packages/flutter/test/widgets/focus_manager_test.dart +++ b/packages/flutter/test/widgets/focus_manager_test.dart @@ -1770,12 +1770,18 @@ void main() { tester.binding.focusManager.removeListener(handleFocusChange); }); - test('$FocusManager dispatches object creation in constructor', () { - expect(()=> FocusManager().dispose(), dispatchesMemoryEvents(FocusManager)); + test('$FocusManager dispatches object creation in constructor', () async { + await expectLater( + await memoryEvents(() => FocusManager().dispose(), FocusManager), + areCreateAndDispose, + ); }); - test('$FocusNode dispatches object creation in constructor', () { - expect(()=> FocusNode().dispose(), dispatchesMemoryEvents(FocusNode)); + test('$FocusNode dispatches object creation in constructor', () async { + await expectLater( + await memoryEvents(() => FocusNode().dispose(), FocusNode), + areCreateAndDispose, + ); }); testWidgetsWithLeakTracking('FocusManager notifies listeners when a widget loses focus because it was removed.', (WidgetTester tester) async { diff --git a/packages/flutter/test/widgets/restorable_property_test.dart b/packages/flutter/test/widgets/restorable_property_test.dart index f672560150..835380a7ba 100644 --- a/packages/flutter/test/widgets/restorable_property_test.dart +++ b/packages/flutter/test/widgets/restorable_property_test.dart @@ -59,7 +59,10 @@ void main() { }); testWidgetsWithLeakTracking('$RestorableProperty dispatches creation in constructor', (WidgetTester widgetTester) async { - expect(() => RestorableDateTimeN(null).dispose(), dispatchesMemoryEvents(RestorableDateTimeN)); + await expectLater( + await memoryEvents(() => RestorableDateTimeN(null).dispose(), RestorableDateTimeN), + areCreateAndDispose, + ); }); testWidgetsWithLeakTracking('work when not in restoration scope', (WidgetTester tester) async { diff --git a/packages/flutter/test/widgets/router_test.dart b/packages/flutter/test/widgets/router_test.dart index b6e5ec80cc..2f739778d5 100644 --- a/packages/flutter/test/widgets/router_test.dart +++ b/packages/flutter/test/widgets/router_test.dart @@ -1584,14 +1584,16 @@ testWidgets('ChildBackButtonDispatcher take priority recursively', (WidgetTester }); }); - test('$PlatformRouteInformationProvider dispatches object creation in constructor', () { - void createAndDispose() { + test('$PlatformRouteInformationProvider dispatches object creation in constructor', () async { + Future createAndDispose() async { PlatformRouteInformationProvider( initialRouteInformation: RouteInformation(uri: Uri.parse('http://google.com')), ).dispose(); } - - expect(createAndDispose, dispatchesMemoryEvents(PlatformRouteInformationProvider)); + await expectLater( + await memoryEvents(createAndDispose, PlatformRouteInformationProvider), + areCreateAndDispose, + ); }); } diff --git a/packages/flutter/test/widgets/scroll_controller_test.dart b/packages/flutter/test/widgets/scroll_controller_test.dart index 32b8a19f5c..3b1682ac52 100644 --- a/packages/flutter/test/widgets/scroll_controller_test.dart +++ b/packages/flutter/test/widgets/scroll_controller_test.dart @@ -409,7 +409,10 @@ void main() { expect(isScrolling, isTrue); }); - test('$ScrollController dispatches object creation in constructor', () { - expect(() => ScrollController().dispose(), dispatchesMemoryEvents(ScrollController)); + test('$ScrollController dispatches object creation in constructor', () async { + await expectLater( + await memoryEvents(() => ScrollController().dispose(), ScrollController), + areCreateAndDispose, + ); }); } diff --git a/packages/flutter/test/widgets/shortcuts_test.dart b/packages/flutter/test/widgets/shortcuts_test.dart index ed2d5ad99e..047f727a46 100644 --- a/packages/flutter/test/widgets/shortcuts_test.dart +++ b/packages/flutter/test/widgets/shortcuts_test.dart @@ -672,8 +672,11 @@ void main() { expect(pressedKeys, isEmpty); }); - test('$ShortcutManager dispatches object creation in constructor', () { - expect(()=> ShortcutManager().dispose(), dispatchesMemoryEvents(ShortcutManager)); + test('$ShortcutManager dispatches object creation in constructor', () async { + await expectLater( + await memoryEvents(() => ShortcutManager().dispose(), ShortcutManager), + areCreateAndDispose, + ); }); testWidgetsWithLeakTracking("Shortcuts passes to the next Shortcuts widget if it doesn't map the key", (WidgetTester tester) async { @@ -1872,8 +1875,11 @@ void main() { token.dispose(); }); - test('dispatches object creation in constructor', () { - expect(()=> ShortcutRegistry().dispose(), dispatchesMemoryEvents(ShortcutRegistry)); + test('dispatches object creation in constructor', () async { + await expectLater( + await memoryEvents(() => ShortcutRegistry().dispose(), ShortcutRegistry), + areCreateAndDispose, + ); }); }); }