mirror of
https://github.com/TextureGroup/Texture.git
synced 2026-04-07 19:17:39 +00:00
As of iOS15 the AuthenticationServices framework has a class named `ASNavigationController`. We need to rename our `ASNavigationController` to protect against undefined behavior. Note: This change was based on this PR https://github.com/TextureGroup/Texture/pull/2014. We were slow in merging it and the author has not replied, so I'm making a new one to get this landed.
53 lines
2.4 KiB
Plaintext
53 lines
2.4 KiB
Plaintext
//
|
|
// ASDKNavigationControllerTests.mm
|
|
// Texture
|
|
//
|
|
// Copyright (c) Pinterest, Inc. All rights reserved.
|
|
// Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
|
|
#import <XCTest/XCTest.h>
|
|
|
|
#import <AsyncDisplayKit/AsyncDisplayKit.h>
|
|
|
|
@interface ASDKNavigationControllerTests : XCTestCase
|
|
@end
|
|
|
|
@implementation ASDKNavigationControllerTests
|
|
|
|
- (void)testSetViewControllers {
|
|
ASDKViewController *firstController = [ASDKViewController new];
|
|
ASDKViewController *secondController = [ASDKViewController new];
|
|
NSArray *expectedViewControllerStack = @[firstController, secondController];
|
|
ASDKNavigationController *navigationController = [ASDKNavigationController new];
|
|
[navigationController setViewControllers:@[firstController, secondController]];
|
|
XCTAssertEqual(navigationController.topViewController, secondController);
|
|
XCTAssertEqual(navigationController.visibleViewController, secondController);
|
|
XCTAssertTrue([navigationController.viewControllers isEqualToArray:expectedViewControllerStack]);
|
|
}
|
|
|
|
- (void)testPopViewController {
|
|
ASDKViewController *firstController = [ASDKViewController new];
|
|
ASDKViewController *secondController = [ASDKViewController new];
|
|
NSArray *expectedViewControllerStack = @[firstController];
|
|
ASDKNavigationController *navigationController = [ASDKNavigationController new];
|
|
[navigationController setViewControllers:@[firstController, secondController]];
|
|
[navigationController popViewControllerAnimated:false];
|
|
XCTAssertEqual(navigationController.topViewController, firstController);
|
|
XCTAssertEqual(navigationController.visibleViewController, firstController);
|
|
XCTAssertTrue([navigationController.viewControllers isEqualToArray:expectedViewControllerStack]);
|
|
}
|
|
|
|
- (void)testPushViewController {
|
|
ASDKViewController *firstController = [ASDKViewController new];
|
|
ASDKViewController *secondController = [ASDKViewController new];
|
|
NSArray *expectedViewControllerStack = @[firstController, secondController];
|
|
ASDKNavigationController *navigationController = [[ASDKNavigationController new] initWithRootViewController:firstController];
|
|
[navigationController pushViewController:secondController animated:false];
|
|
XCTAssertEqual(navigationController.topViewController, secondController);
|
|
XCTAssertEqual(navigationController.visibleViewController, secondController);
|
|
XCTAssertTrue([navigationController.viewControllers isEqualToArray:expectedViewControllerStack]);
|
|
}
|
|
|
|
@end
|