diff --git a/packages/flutter/test/material/material_states_controller_test.dart b/packages/flutter/test/material/material_states_controller_test.dart index 3449e975b6..f797d34e34 100644 --- a/packages/flutter/test/material/material_states_controller_test.dart +++ b/packages/flutter/test/material/material_states_controller_test.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; void main() { test('MaterialStatesController constructor', () { @@ -12,6 +13,10 @@ void main() { expect(MaterialStatesController({MaterialState.selected}).value, {MaterialState.selected}); }); + test('MaterialStatesController dispatches memory events', () { + expect(()=> MaterialStatesController().dispose(), dispatchesMemoryEvents(MaterialStatesController)); + }); + test('MaterialStatesController update, listener', () { int count = 0; void valueChanged() { diff --git a/packages/flutter/test/widgets/focus_manager_test.dart b/packages/flutter/test/widgets/focus_manager_test.dart index 4516e6f31c..600fdb16dd 100644 --- a/packages/flutter/test/widgets/focus_manager_test.dart +++ b/packages/flutter/test/widgets/focus_manager_test.dart @@ -11,6 +11,7 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; void main() { final GlobalKey widgetKey = GlobalKey(); @@ -1610,38 +1611,11 @@ void main() { }); test('$FocusManager dispatches object creation in constructor', () { - final List events = []; - void listener(ObjectEvent event) { - if (event.object.runtimeType == FocusManager) { - events.add(event); - } - } - MemoryAllocations.instance.addListener(listener); - - final FocusManager focusManager = FocusManager(); - - expect(events, hasLength(1)); - - focusManager.dispose(); - - MemoryAllocations.instance.removeListener(listener); + expect(()=> FocusManager().dispose(), dispatchesMemoryEvents(FocusManager)); }); test('$FocusNode dispatches object creation in constructor', () { - final List events = []; - void listener(ObjectEvent event) { - if (event.object.runtimeType == FocusNode) { - events.add(event); - } - } - MemoryAllocations.instance.addListener(listener); - - final FocusNode focusManager = FocusNode(); - - expect(events, hasLength(1)); - - focusManager.dispose(); - MemoryAllocations.instance.removeListener(listener); + expect(()=> FocusNode().dispose(), dispatchesMemoryEvents(FocusNode)); }); testWidgets('FocusManager notifies listeners when a widget loses focus because it was removed.', (WidgetTester tester) async { diff --git a/packages/flutter/test/widgets/router_test.dart b/packages/flutter/test/widgets/router_test.dart index f4286d4586..fdb3407467 100644 --- a/packages/flutter/test/widgets/router_test.dart +++ b/packages/flutter/test/widgets/router_test.dart @@ -8,6 +8,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; void main() { testWidgets('Simple router basic functionality - synchronized', (WidgetTester tester) async { @@ -1584,18 +1585,13 @@ testWidgets('ChildBackButtonDispatcher take priority recursively', (WidgetTester }); test('$PlatformRouteInformationProvider dispatches object creation in constructor', () { - int eventCount = 0; - void listener(ObjectEvent event) => eventCount++; - MemoryAllocations.instance.addListener(listener); + void createAndDispose() { + PlatformRouteInformationProvider( + initialRouteInformation: RouteInformation(uri: Uri.parse('http://google.com')), + ).dispose(); + } - final PlatformRouteInformationProvider registry = PlatformRouteInformationProvider( - initialRouteInformation: RouteInformation(uri: Uri.parse('http://google.com')), - ); - - expect(eventCount, 1); - - registry.dispose(); - MemoryAllocations.instance.removeListener(listener); + expect(createAndDispose, dispatchesMemoryEvents(PlatformRouteInformationProvider)); }); } diff --git a/packages/flutter/test/widgets/scroll_controller_test.dart b/packages/flutter/test/widgets/scroll_controller_test.dart index b4bad240f9..76a9820470 100644 --- a/packages/flutter/test/widgets/scroll_controller_test.dart +++ b/packages/flutter/test/widgets/scroll_controller_test.dart @@ -4,9 +4,9 @@ import 'dart:ui' as ui; -import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; import 'states.dart'; @@ -396,19 +396,6 @@ void main() { }); test('$ScrollController dispatches object creation in constructor', () { - final List events = []; - void listener(ObjectEvent event) { - if (event.object.runtimeType == ScrollController) { - events.add(event); - } - } - MemoryAllocations.instance.addListener(listener); - - final ScrollController controller = ScrollController(); - - expect(events, hasLength(1)); - - controller.dispose(); - MemoryAllocations.instance.removeListener(listener); + expect(()=> ScrollController().dispose(), dispatchesMemoryEvents(ScrollController)); }); } diff --git a/packages/flutter/test/widgets/shortcuts_test.dart b/packages/flutter/test/widgets/shortcuts_test.dart index fedf7f9cd2..a73bb38e80 100644 --- a/packages/flutter/test/widgets/shortcuts_test.dart +++ b/packages/flutter/test/widgets/shortcuts_test.dart @@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; void main() { group(LogicalKeySet, () { @@ -667,16 +668,7 @@ void main() { }); test('$ShortcutManager dispatches object creation in constructor', () { - int eventCount = 0; - void listener(ObjectEvent event) => eventCount++; - MemoryAllocations.instance.addListener(listener); - - final ShortcutManager registry = ShortcutManager(); - - expect(eventCount, 1); - - registry.dispose(); - MemoryAllocations.instance.removeListener(listener); + expect(()=> ShortcutManager().dispose(), dispatchesMemoryEvents(ShortcutManager)); }); testWidgets("Shortcuts passes to the next Shortcuts widget if it doesn't map the key", (WidgetTester tester) async { @@ -1867,16 +1859,7 @@ void main() { }); test('dispatches object creation in constructor', () { - int eventCount = 0; - void listener(ObjectEvent event) => eventCount++; - MemoryAllocations.instance.addListener(listener); - - final ShortcutRegistry registry = ShortcutRegistry(); - - expect(eventCount, 1); - - registry.dispose(); - MemoryAllocations.instance.removeListener(listener); + expect(()=> ShortcutRegistry().dispose(), dispatchesMemoryEvents(ShortcutRegistry)); }); }); }