Chromium Code Reviews| Index: ios/chrome/browser/ui/main/main_view_controller_unittest.mm |
| diff --git a/ios/chrome/browser/ui/main/main_view_controller_unittest.mm b/ios/chrome/browser/ui/main/main_view_controller_unittest.mm |
| index 9fe78a95263f2743f9ced77e6cb9837995bdb8f6..02c22717ae7bbde7c66dd060a4e7af7d048f1fa4 100644 |
| --- a/ios/chrome/browser/ui/main/main_view_controller_unittest.mm |
| +++ b/ios/chrome/browser/ui/main/main_view_controller_unittest.mm |
| @@ -6,9 +6,12 @@ |
| #import <UIKit/UIKit.h> |
| -#include "base/mac/scoped_nsobject.h" |
| #include "testing/gtest_mac.h" |
| +#if !defined(__has_feature) || !__has_feature(objc_arc) |
| +#error "This file requires ARC support." |
| +#endif |
| + |
| @interface HiddenStatusBarViewController : UIViewController |
| @end |
| @@ -20,9 +23,9 @@ |
| @interface MockViewController : UIViewController |
| @property(nonatomic, readonly) NSInteger didMoveToParentViewControllerCount; |
| -@property(nonatomic, readonly) id didMoveToParentViewControllerArgument; |
| +@property(weak, nonatomic, readonly) id didMoveToParentViewControllerArgument; |
|
marq (ping after 24h)
2017/02/10 11:02:40
Nit: Prefer to keep atomicity first, then storage
|
| @property(nonatomic, readonly) NSInteger willMoveToParentViewControllerCount; |
| -@property(nonatomic, readonly) id willMoveToParentViewControllerArgument; |
| +@property(weak, nonatomic, readonly) id willMoveToParentViewControllerArgument; |
| @end |
| @implementation MockViewController |
| @@ -50,57 +53,52 @@ |
| namespace { |
| TEST(MainViewControllerTest, ActiveVC) { |
| - base::scoped_nsobject<MainViewController> main_view_controller( |
| - [[MainViewController alloc] init]); |
| - base::scoped_nsobject<UIViewController> child_view_controller_1( |
| - [[UIViewController alloc] init]); |
| - base::scoped_nsobject<UIViewController> child_view_controller_2( |
| - [[UIViewController alloc] init]); |
| + MainViewController* main_view_controller = [[MainViewController alloc] init]; |
| + UIViewController* child_view_controller_1 = [[UIViewController alloc] init]; |
| + UIViewController* child_view_controller_2 = [[UIViewController alloc] init]; |
| // Test that the active view controller is always the first child view |
| // controller. |
| EXPECT_EQ(nil, [main_view_controller activeViewController]); |
| [main_view_controller addChildViewController:child_view_controller_1]; |
| - EXPECT_EQ(child_view_controller_1.get(), |
| + EXPECT_EQ(child_view_controller_1, |
| [main_view_controller activeViewController]); |
| [main_view_controller addChildViewController:child_view_controller_2]; |
| - EXPECT_EQ(child_view_controller_1.get(), |
| + EXPECT_EQ(child_view_controller_1, |
| [main_view_controller activeViewController]); |
| [child_view_controller_1 removeFromParentViewController]; |
| - EXPECT_EQ(child_view_controller_2.get(), |
| + EXPECT_EQ(child_view_controller_2, |
| [main_view_controller activeViewController]); |
| } |
| TEST(MainViewControllerTest, SetActiveVC) { |
| - base::scoped_nsobject<MainViewController> main_view_controller( |
| - [[MainViewController alloc] init]); |
| + MainViewController* main_view_controller = [[MainViewController alloc] init]; |
| CGRect windowRect = CGRectMake(0, 0, 200, 200); |
| [main_view_controller view].frame = windowRect; |
| - base::scoped_nsobject<MockViewController> child_view_controller_1( |
| - [[MockViewController alloc] init]); |
| + MockViewController* child_view_controller_1 = |
| + [[MockViewController alloc] init]; |
| [child_view_controller_1 view].frame = CGRectMake(0, 0, 10, 10); |
| [main_view_controller setActiveViewController:child_view_controller_1]; |
| - EXPECT_EQ(child_view_controller_1.get(), |
| + EXPECT_EQ(child_view_controller_1, |
| [[main_view_controller childViewControllers] firstObject]); |
| EXPECT_EQ([child_view_controller_1 view], |
| [[main_view_controller view].subviews firstObject]); |
| EXPECT_NSEQ(NSStringFromCGRect(windowRect), |
| NSStringFromCGRect([child_view_controller_1 view].frame)); |
| EXPECT_EQ(1, [child_view_controller_1 didMoveToParentViewControllerCount]); |
| - EXPECT_EQ(main_view_controller.get(), |
| + EXPECT_EQ(main_view_controller, |
| [child_view_controller_1 didMoveToParentViewControllerArgument]); |
| // Expect there to have also been an automatic call to |
| // -willMoveToParentViewController. |
| EXPECT_EQ(1, [child_view_controller_1 willMoveToParentViewControllerCount]); |
| - EXPECT_EQ(main_view_controller.get(), |
| + EXPECT_EQ(main_view_controller, |
| [child_view_controller_1 willMoveToParentViewControllerArgument]); |
| - base::scoped_nsobject<UIViewController> child_view_controller_2( |
| - [[UIViewController alloc] init]); |
| + UIViewController* child_view_controller_2 = [[UIViewController alloc] init]; |
| [main_view_controller setActiveViewController:child_view_controller_2]; |
| - EXPECT_EQ(child_view_controller_2.get(), |
| + EXPECT_EQ(child_view_controller_2, |
| [[main_view_controller childViewControllers] firstObject]); |
| EXPECT_EQ(1U, [[main_view_controller childViewControllers] count]); |
| EXPECT_EQ(nil, [[child_view_controller_1 view] superview]); |
| @@ -115,29 +113,27 @@ TEST(MainViewControllerTest, SetActiveVC) { |
| } |
| TEST(MainViewControllerTest, StatusBar) { |
| - base::scoped_nsobject<MainViewController> main_view_controller( |
| - [[MainViewController alloc] init]); |
| + MainViewController* main_view_controller = [[MainViewController alloc] init]; |
| // MVC needs to be the root view controller for this to work, so save the |
| // current one and restore it at the end of the test. |
| UIViewController* root_view_controller = |
| [[[UIApplication sharedApplication] keyWindow] rootViewController]; |
| [[UIApplication sharedApplication] keyWindow].rootViewController = |
| main_view_controller; |
| - base::scoped_nsobject<UIViewController> status_bar_visible_view_controller( |
| - [[UIViewController alloc] init]); |
| + UIViewController* status_bar_visible_view_controller = |
| + [[UIViewController alloc] init]; |
| [main_view_controller |
| setActiveViewController:status_bar_visible_view_controller]; |
| // Check if the status bar is hidden by testing if the status bar rect is |
| // CGRectZero. |
| EXPECT_FALSE(CGRectEqualToRect( |
| [UIApplication sharedApplication].statusBarFrame, CGRectZero)); |
| - base::scoped_nsobject<HiddenStatusBarViewController> |
| - status_bar_hidden_view_controller( |
| - [[HiddenStatusBarViewController alloc] init]); |
| + HiddenStatusBarViewController* status_bar_hidden_view_controller = |
| + [[HiddenStatusBarViewController alloc] init]; |
| [main_view_controller |
| setActiveViewController:status_bar_hidden_view_controller]; |
| EXPECT_EQ([main_view_controller childViewControllerForStatusBarHidden], |
| - status_bar_hidden_view_controller.get()); |
| + status_bar_hidden_view_controller); |
| EXPECT_TRUE(CGRectEqualToRect( |
| [UIApplication sharedApplication].statusBarFrame, CGRectZero)); |
| [[UIApplication sharedApplication] keyWindow].rootViewController = |