Unverified Commit 2ea52966 authored by Polina Cherkasova's avatar Polina Cherkasova Committed by GitHub

PlatformRouteInformationProvider should dispatch creation in constructor. (#133353)

parent 0027d18e
......@@ -1465,7 +1465,11 @@ class PlatformRouteInformationProvider extends RouteInformationProvider with Wid
/// provider.
PlatformRouteInformationProvider({
required RouteInformation initialRouteInformation,
}) : _value = initialRouteInformation;
}) : _value = initialRouteInformation {
if (kFlutterMemoryAllocationsEnabled) {
maybeDispatchObjectCreation();
}
}
static bool _equals(Uri a, Uri b) {
return a.path == b.path
......
......@@ -1161,6 +1161,7 @@ void main() {
routerDelegate: delegate,
));
expect(tester.takeException(), isAssertionError);
provider.dispose();
});
testWidgetsWithLeakTracking('MaterialApp.router throw if route configuration is provided along with other delegate', (WidgetTester tester) async {
......
......@@ -1582,6 +1582,21 @@ testWidgets('ChildBackButtonDispatcher take priority recursively', (WidgetTester
expect(info2.location, '/abc?def=ghi&def=jkl#mno');
});
});
test('$PlatformRouteInformationProvider dispatches object creation in constructor', () {
int eventCount = 0;
void listener(ObjectEvent event) => eventCount++;
MemoryAllocations.instance.addListener(listener);
final PlatformRouteInformationProvider registry = PlatformRouteInformationProvider(
initialRouteInformation: RouteInformation(uri: Uri.parse('http://google.com')),
);
expect(eventCount, 1);
registry.dispose();
MemoryAllocations.instance.removeListener(listener);
});
}
Widget buildBoilerPlate(Widget child) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment