@@ -69,6 +69,7 @@ - (bool)testViewWillAppearCalledMultipleTimes;
6969- (bool )testFlutterViewIsConfigured ;
7070- (bool )testLookupKeyAssets ;
7171- (bool )testLookupKeyAssetsWithPackage ;
72+ - (bool )testViewControllerReleased ;
7273
7374+ (void )respondFalseForSendEvent : (const FlutterKeyEvent&)event
7475 callback : (nullable FlutterKeyEventCallback)callback
@@ -251,6 +252,10 @@ id MockGestureEvent(NSEventType type, NSEventPhase phase, double magnification,
251252 ASSERT_TRUE ([[FlutterViewControllerTestObjC alloc ] testLookupKeyAssetsWithPackage ]);
252253}
253254
255+ TEST (FlutterViewControllerTest, testViewControllerReleased) {
256+ ASSERT_TRUE ([[FlutterViewControllerTestObjC alloc ] testViewControllerReleased ]);
257+ }
258+
254259} // namespace flutter::testing
255260
256261#pragma mark - FlutterViewControllerTestObjC
@@ -1016,4 +1021,24 @@ - (bool)testModifierKeysAreSynthesizedOnMouseMove {
10161021 return true ;
10171022}
10181023
1024+ - (bool )testViewControllerReleased {
1025+ __weak FlutterViewController* weakController;
1026+ @autoreleasepool {
1027+ id engineMock = flutter::testing::CreateMockFlutterEngine (@" " );
1028+
1029+ FlutterRenderer* renderer_ = [[FlutterRenderer alloc ] initWithFlutterEngine: engineMock];
1030+ OCMStub ([engineMock renderer ]).andReturn (renderer_);
1031+
1032+ FlutterViewController* viewController = [[FlutterViewController alloc ] initWithEngine: engineMock
1033+ nibName: @" "
1034+ bundle: nil ];
1035+ [viewController loadView ];
1036+ weakController = viewController;
1037+ }
1038+
1039+ EXPECT_EQ (weakController, nil );
1040+
1041+ return true ;
1042+ }
1043+
10191044@end
0 commit comments