From 7dd5a7bb97a10a4e2d63e4b59fd42c48cf829a53 Mon Sep 17 00:00:00 2001 From: Omar Albeik <8127757+omaralbeik@users.noreply.github.com> Date: Mon, 25 Jul 2022 13:16:48 +0200 Subject: [PATCH] Increase test coverage (#35) --- Sources/WindowViewController.swift | 4 ++-- Tests/WindowViewControllerTests.swift | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Sources/WindowViewController.swift b/Sources/WindowViewController.swift index 5ddcbfa..07db4f8 100644 --- a/Sources/WindowViewController.swift +++ b/Sources/WindowViewController.swift @@ -65,7 +65,7 @@ internal final class WindowViewController: UIViewController { var window: UIWindow? } -private extension UIApplication { +internal extension UIApplication { var activeWindowScene: UIWindowScene? { return connectedScenes .compactMap { $0 as? UIWindowScene } @@ -73,7 +73,7 @@ private extension UIApplication { } } -private extension UIViewController { +internal extension UIViewController { var top: UIViewController? { if let controller = self as? UINavigationController { return controller.topViewController?.top diff --git a/Tests/WindowViewControllerTests.swift b/Tests/WindowViewControllerTests.swift index 6a6f941..c8cdcf5 100644 --- a/Tests/WindowViewControllerTests.swift +++ b/Tests/WindowViewControllerTests.swift @@ -34,6 +34,11 @@ final class WindowViewControllerTests: XCTestCase { XCTAssertNil(WindowViewController(coder: NSCoder())) } + func testPreferredStatusBarStyle() { + let viewController = WindowViewController() + XCTAssertEqual(viewController.preferredStatusBarStyle, .default) + } + func testInstall() { let viewController = WindowViewController() viewController.install() @@ -48,4 +53,21 @@ final class WindowViewControllerTests: XCTestCase { XCTAssertNil(viewController.window) } + + func testTopViewController() { + let navController = UINavigationController() + XCTAssertEqual(navController.top, navController.topViewController) + + let splitController = UISplitViewController() + let controller = UIViewController() + splitController.viewControllers = [controller] + XCTAssertEqual(splitController.top, controller) + + let tabBarController = UITabBarController() + tabBarController.viewControllers = [controller] + tabBarController.selectedIndex = 0 + XCTAssertEqual(tabBarController.top, controller) + + XCTAssertEqual(controller.top, controller) + } }