5#import <XCTest/XCTest.h>
17- (void)testWindowSceneIfViewLoadedReturnsWindowSceneIfViewLoaded {
18 UIViewController*
viewController = [[UIViewController alloc] initWithNibName:nil bundle:nil];
20 NSSet<UIScene*>* scenes = UIApplication.sharedApplication.connectedScenes;
21 XCTAssertEqual(scenes.count, 1UL,
@"There must only be 1 scene for test");
22 UIScene* scene = scenes.anyObject;
23 XCTAssert([scene isKindOfClass:[UIWindowScene class]],
@"Must be a window scene for test");
24 UIWindowScene* windowScene = (UIWindowScene*)scene;
25 XCTAssert(windowScene.windows.count > 0,
@"There must be at least 1 window for test");
26 UIWindow*
window = windowScene.windows[0];
27 [window addSubview:viewController.view];
29 [viewController loadView];
30 XCTAssertEqual(
viewController.flutterWindowSceneIfViewLoaded, windowScene,
31 @"Must return the correct window scene when view loaded");
34- (void)testWindowSceneIfViewLoadedReturnsNilIfViewNotLoaded {
35 UIViewController*
viewController = [[UIViewController alloc] initWithNibName:nil bundle:nil];
37 @"Must return nil window scene when view not loaded");
40- (void)testScreenIfViewLoadedReturnsScreenIfViewLoadedAfterIOS13 {
41 UIViewController*
viewController = [[UIViewController alloc] initWithNibName:nil bundle:nil];
43 NSSet<UIScene*>* scenes = UIApplication.sharedApplication.connectedScenes;
44 XCTAssertEqual(scenes.count, 1UL,
@"There must only be 1 scene for test");
45 UIScene* scene = scenes.anyObject;
46 XCTAssert([scene isKindOfClass:[UIWindowScene class]],
@"Must be a window scene for test");
47 UIWindowScene* windowScene = (UIWindowScene*)scene;
48 XCTAssert(windowScene.windows.count > 0,
@"There must be at least 1 window for test");
49 UIWindow*
window = windowScene.windows[0];
50 [window addSubview:viewController.view];
52 [viewController loadView];
53 XCTAssertEqual(
viewController.flutterScreenIfViewLoaded, windowScene.screen,
54 @"Must return the correct screen when view loaded");
57- (void)testScreenIfViewLoadedReturnsNilIfViewNotLoadedAfterIOS13 {
58 UIViewController*
viewController = [[UIViewController alloc] initWithNibName:nil bundle:nil];
60 @"Must return nil screen when view not loaded");
FlutterViewController * viewController