@@ -174,10 +174,14 @@ - (void)tearDown {
174
174
self.messageSent = nil ;
175
175
}
176
176
177
+ - (id )testScreen {
178
+ return UIScreen.mainScreen ;
179
+ }
180
+
177
181
- (id )setupMockMainScreenAndView : (FlutterViewController*)viewControllerMock
178
182
viewFrame : (CGRect)viewFrame
179
183
convertedFrame : (CGRect)convertedFrame {
180
- OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (UIScreen. mainScreen );
184
+ OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn ([ self testScreen ] );
181
185
id mockView = OCMClassMock ([UIView class ]);
182
186
OCMStub ([mockView frame ]).andReturn (viewFrame);
183
187
OCMStub ([mockView convertRect: viewFrame toCoordinateSpace: [OCMArg any ]])
@@ -222,7 +226,8 @@ - (void)testSetupKeyboardSpringAnimationIfNeeded {
222
226
nibName: nil
223
227
bundle: nil ];
224
228
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
225
- CGRect viewFrame = UIScreen.mainScreen .bounds ;
229
+ UIScreen* screen = [self testScreen ];
230
+ CGRect viewFrame = screen.bounds ;
226
231
[self setupMockMainScreenAndView: viewControllerMock viewFrame: viewFrame convertedFrame: viewFrame];
227
232
228
233
// Null check.
@@ -261,12 +266,13 @@ - (void)testKeyboardAnimationIsShowingAndCompounding {
261
266
nibName: nil
262
267
bundle: nil ];
263
268
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
264
- CGRect viewFrame = UIScreen.mainScreen .bounds ;
269
+ UIScreen* screen = [self testScreen ];
270
+ CGRect viewFrame = screen.bounds ;
265
271
[self setupMockMainScreenAndView: viewControllerMock viewFrame: viewFrame convertedFrame: viewFrame];
266
272
267
273
BOOL isLocal = YES ;
268
- CGFloat screenHeight = UIScreen. mainScreen .bounds .size .height ;
269
- CGFloat screenWidth = UIScreen. mainScreen .bounds .size .height ;
274
+ CGFloat screenHeight = screen .bounds .size .height ;
275
+ CGFloat screenWidth = screen .bounds .size .height ;
270
276
271
277
// Start show keyboard animation.
272
278
CGRect initialShowKeyboardBeginFrame = CGRectMake (0 , screenHeight, screenWidth, 250 );
@@ -347,11 +353,12 @@ - (void)testShouldIgnoreKeyboardNotification {
347
353
nibName: nil
348
354
bundle: nil ];
349
355
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
350
- CGRect viewFrame = UIScreen.mainScreen .bounds ;
356
+ UIScreen* screen = [self testScreen ];
357
+ CGRect viewFrame = screen.bounds ;
351
358
[self setupMockMainScreenAndView: viewControllerMock viewFrame: viewFrame convertedFrame: viewFrame];
352
359
353
- CGFloat screenWidth = UIScreen. mainScreen .bounds .size .width ;
354
- CGFloat screenHeight = UIScreen. mainScreen .bounds .size .height ;
360
+ CGFloat screenWidth = screen .bounds .size .width ;
361
+ CGFloat screenHeight = screen .bounds .size .height ;
355
362
CGRect emptyKeyboard = CGRectZero;
356
363
CGRect zeroHeightKeyboard = CGRectMake (0 , 0 , screenWidth, 0 );
357
364
CGRect validKeyboardEndFrame = CGRectMake (0 , screenHeight - 320 , screenWidth, 320 );
@@ -487,11 +494,12 @@ - (void)testCalculateKeyboardAttachMode {
487
494
bundle: nil ];
488
495
489
496
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
490
- CGRect viewFrame = UIScreen.mainScreen .bounds ;
497
+ UIScreen* screen = [self testScreen ];
498
+ CGRect viewFrame = screen.bounds ;
491
499
[self setupMockMainScreenAndView: viewControllerMock viewFrame: viewFrame convertedFrame: viewFrame];
492
500
493
- CGFloat screenWidth = UIScreen. mainScreen .bounds .size .width ;
494
- CGFloat screenHeight = UIScreen. mainScreen .bounds .size .height ;
501
+ CGFloat screenWidth = screen .bounds .size .width ;
502
+ CGFloat screenHeight = screen .bounds .size .height ;
495
503
496
504
// hide notification
497
505
CGRect keyboardFrame = CGRectZero;
@@ -612,9 +620,10 @@ - (void)testCalculateMultitaskingAdjustment {
612
620
bundle: nil ];
613
621
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
614
622
615
- CGFloat screenWidth = UIScreen.mainScreen .bounds .size .width ;
616
- CGFloat screenHeight = UIScreen.mainScreen .bounds .size .height ;
617
- CGRect screenRect = UIScreen.mainScreen .bounds ;
623
+ UIScreen* screen = [self testScreen ];
624
+ CGFloat screenWidth = screen.bounds .size .width ;
625
+ CGFloat screenHeight = screen.bounds .size .height ;
626
+ CGRect screenRect = screen.bounds ;
618
627
CGRect viewOrigFrame = CGRectMake (0 , 0 , 320 , screenHeight - 40 );
619
628
CGRect convertedViewFrame = CGRectMake (20 , 20 , 320 , screenHeight - 40 );
620
629
CGRect keyboardFrame = CGRectMake (20 , screenHeight - 320 , screenWidth, 300 );
@@ -639,10 +648,11 @@ - (void)testCalculateKeyboardInset {
639
648
nibName: nil
640
649
bundle: nil ];
641
650
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
642
- OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (UIScreen.mainScreen );
651
+ UIScreen* screen = [self testScreen ];
652
+ OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (screen);
643
653
644
- CGFloat screenWidth = UIScreen. mainScreen .bounds .size .width ;
645
- CGFloat screenHeight = UIScreen. mainScreen .bounds .size .height ;
654
+ CGFloat screenWidth = screen .bounds .size .width ;
655
+ CGFloat screenHeight = screen .bounds .size .height ;
646
656
CGRect viewOrigFrame = CGRectMake (0 , 0 , 320 , screenHeight - 40 );
647
657
CGRect convertedViewFrame = CGRectMake (20 , 20 , 320 , screenHeight - 40 );
648
658
CGRect keyboardFrame = CGRectMake (20 , screenHeight - 320 , screenWidth, 300 );
@@ -653,7 +663,7 @@ - (void)testCalculateKeyboardInset {
653
663
654
664
CGFloat inset = [viewControllerMock calculateKeyboardInset: keyboardFrame
655
665
keyboardMode: FlutterKeyboardModeDocked];
656
- XCTAssertTrue (inset == 300 * UIScreen. mainScreen .scale );
666
+ XCTAssertTrue (inset == 300 * screen .scale );
657
667
}
658
668
659
669
- (void )testHandleKeyboardNotification {
@@ -663,10 +673,11 @@ - (void)testHandleKeyboardNotification {
663
673
nibName: nil
664
674
bundle: nil ];
665
675
// keyboard is empty
666
- CGFloat screenWidth = UIScreen.mainScreen .bounds .size .width ;
667
- CGFloat screenHeight = UIScreen.mainScreen .bounds .size .height ;
676
+ UIScreen* screen = [self testScreen ];
677
+ CGFloat screenWidth = screen.bounds .size .width ;
678
+ CGFloat screenHeight = screen.bounds .size .height ;
668
679
CGRect keyboardFrame = CGRectMake (0 , screenHeight - 320 , screenWidth, 320 );
669
- CGRect viewFrame = UIScreen. mainScreen .bounds ;
680
+ CGRect viewFrame = screen .bounds ;
670
681
BOOL isLocal = YES ;
671
682
NSNotification * notification =
672
683
[NSNotification notificationWithName: UIKeyboardWillShowNotification
@@ -685,7 +696,7 @@ - (void)testHandleKeyboardNotification {
685
696
});
686
697
687
698
[viewControllerMock handleKeyboardNotification: notification];
688
- XCTAssertTrue (viewControllerMock.targetViewInsetBottom == 320 * UIScreen. mainScreen .scale );
699
+ XCTAssertTrue (viewControllerMock.targetViewInsetBottom == 320 * screen .scale );
689
700
OCMVerify ([viewControllerMock startKeyBoardAnimation: 0.25 ]);
690
701
[self waitForExpectationsWithTimeout: 5.0 handler: nil ];
691
702
}
@@ -896,7 +907,8 @@ - (void)testUpdateViewportMetricsIfNeeded_DoesNotInvokeEngineWhenShouldBeIgnored
896
907
nibName: nil
897
908
bundle: nil ];
898
909
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
899
- OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (UIScreen.mainScreen );
910
+ UIScreen* screen = [self testScreen ];
911
+ OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (screen);
900
912
mockEngine.viewController = viewController;
901
913
902
914
id mockCoordinator = OCMProtocolMock (@protocol (UIViewControllerTransitionCoordinator));
@@ -917,7 +929,8 @@ - (void)testViewWillTransitionToSize_DoesDelayEngineCallIfNonZeroDuration {
917
929
nibName: nil
918
930
bundle: nil ];
919
931
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
920
- OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (UIScreen.mainScreen );
932
+ UIScreen* screen = [self testScreen ];
933
+ OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (screen);
921
934
mockEngine.viewController = viewController;
922
935
923
936
// Mimic the device rotation with non-zero transition duration.
@@ -950,7 +963,8 @@ - (void)testViewWillTransitionToSize_DoesNotDelayEngineCallIfZeroDuration {
950
963
nibName: nil
951
964
bundle: nil ];
952
965
FlutterViewController* viewControllerMock = OCMPartialMock (viewController);
953
- OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (UIScreen.mainScreen );
966
+ UIScreen* screen = [self testScreen ];
967
+ OCMStub ([viewControllerMock screenIfViewLoaded ]).andReturn (screen);
954
968
mockEngine.viewController = viewController;
955
969
956
970
// Mimic the device rotation with zero transition duration.
0 commit comments