Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: ios/chrome/browser/ui/settings/settings_navigation_controller_unittest.mm

Issue 2894883004: Removed IsNativeAppLauncherEnabled() experiment (Closed)
Patch Set: rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h" 5 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
6 6
7 #import <Foundation/Foundation.h> 7 #import <Foundation/Foundation.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 }; 84 };
85 85
86 // When navigation stack has more than one view controller, 86 // When navigation stack has more than one view controller,
87 // -popViewControllerAnimated: successfully removes the top view controller. 87 // -popViewControllerAnimated: successfully removes the top view controller.
88 TEST_F(SettingsNavigationControllerTest, PopController) { 88 TEST_F(SettingsNavigationControllerTest, PopController) {
89 @autoreleasepool { 89 @autoreleasepool {
90 SettingsNavigationController* settingsController = 90 SettingsNavigationController* settingsController =
91 [SettingsNavigationController 91 [SettingsNavigationController
92 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_ 92 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_
93 .get() 93 .get()
94 currentBrowserState:chrome_browser_state_
95 .get()
96 delegate:nil]; 94 delegate:nil];
97 UIViewController* viewController = 95 UIViewController* viewController =
98 [[UIViewController alloc] initWithNibName:nil bundle:nil]; 96 [[UIViewController alloc] initWithNibName:nil bundle:nil];
99 [settingsController pushViewController:viewController animated:NO]; 97 [settingsController pushViewController:viewController animated:NO];
100 EXPECT_EQ(2U, [[settingsController viewControllers] count]); 98 EXPECT_EQ(2U, [[settingsController viewControllers] count]);
101 99
102 UIViewController* poppedViewController = 100 UIViewController* poppedViewController =
103 [settingsController popViewControllerAnimated:NO]; 101 [settingsController popViewControllerAnimated:NO];
104 EXPECT_NSEQ(viewController, poppedViewController); 102 EXPECT_NSEQ(viewController, poppedViewController);
105 EXPECT_EQ(1U, [[settingsController viewControllers] count]); 103 EXPECT_EQ(1U, [[settingsController viewControllers] count]);
106 } 104 }
107 } 105 }
108 106
109 // When the navigation stack has only one view controller, 107 // When the navigation stack has only one view controller,
110 // -popViewControllerAnimated: returns false. 108 // -popViewControllerAnimated: returns false.
111 TEST_F(SettingsNavigationControllerTest, DontPopRootController) { 109 TEST_F(SettingsNavigationControllerTest, DontPopRootController) {
112 @autoreleasepool { 110 @autoreleasepool {
113 SettingsNavigationController* settingsController = 111 SettingsNavigationController* settingsController =
114 [SettingsNavigationController 112 [SettingsNavigationController
115 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_ 113 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_
116 .get() 114 .get()
117 currentBrowserState:chrome_browser_state_
118 .get()
119 delegate:nil]; 115 delegate:nil];
120 EXPECT_EQ(1U, [[settingsController viewControllers] count]); 116 EXPECT_EQ(1U, [[settingsController viewControllers] count]);
121 117
122 EXPECT_FALSE([settingsController popViewControllerAnimated:NO]); 118 EXPECT_FALSE([settingsController popViewControllerAnimated:NO]);
123 } 119 }
124 } 120 }
125 121
126 // When the settings navigation stack has more than one view controller, calling 122 // When the settings navigation stack has more than one view controller, calling
127 // -popViewControllerOrCloseSettingsAnimated: pops the top view controller to 123 // -popViewControllerOrCloseSettingsAnimated: pops the top view controller to
128 // reveal the view controller underneath. 124 // reveal the view controller underneath.
129 TEST_F(SettingsNavigationControllerTest, 125 TEST_F(SettingsNavigationControllerTest,
130 PopWhenNavigationStackSizeIsGreaterThanOne) { 126 PopWhenNavigationStackSizeIsGreaterThanOne) {
131 @autoreleasepool { 127 @autoreleasepool {
132 SettingsNavigationController* settingsController = 128 SettingsNavigationController* settingsController =
133 [SettingsNavigationController 129 [SettingsNavigationController
134 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_ 130 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_
135 .get() 131 .get()
136 currentBrowserState:chrome_browser_state_
137 .get()
138 delegate:mockDelegate_]; 132 delegate:mockDelegate_];
139 UIViewController* viewController = 133 UIViewController* viewController =
140 [[UIViewController alloc] initWithNibName:nil bundle:nil]; 134 [[UIViewController alloc] initWithNibName:nil bundle:nil];
141 [settingsController pushViewController:viewController animated:NO]; 135 [settingsController pushViewController:viewController animated:NO];
142 EXPECT_EQ(2U, [[settingsController viewControllers] count]); 136 EXPECT_EQ(2U, [[settingsController viewControllers] count]);
143 [[mockDelegate_ reject] closeSettings]; 137 [[mockDelegate_ reject] closeSettings];
144 [settingsController popViewControllerOrCloseSettingsAnimated:NO]; 138 [settingsController popViewControllerOrCloseSettingsAnimated:NO];
145 EXPECT_EQ(1U, [[settingsController viewControllers] count]); 139 EXPECT_EQ(1U, [[settingsController viewControllers] count]);
146 EXPECT_OCMOCK_VERIFY(mockDelegate_); 140 EXPECT_OCMOCK_VERIFY(mockDelegate_);
147 } 141 }
148 } 142 }
149 143
150 // When the settings navigation stack only has one view controller, calling 144 // When the settings navigation stack only has one view controller, calling
151 // -popViewControllerOrCloseSettingsAnimated: calls -closeSettings on the 145 // -popViewControllerOrCloseSettingsAnimated: calls -closeSettings on the
152 // delegate. 146 // delegate.
153 TEST_F(SettingsNavigationControllerTest, 147 TEST_F(SettingsNavigationControllerTest,
154 CloseSettingsWhenNavigationStackSizeIsOne) { 148 CloseSettingsWhenNavigationStackSizeIsOne) {
155 @autoreleasepool { 149 @autoreleasepool {
156 SettingsNavigationController* settingsController = 150 SettingsNavigationController* settingsController =
157 [SettingsNavigationController 151 [SettingsNavigationController
158 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_ 152 newSettingsMainControllerWithMainBrowserState:chrome_browser_state_
159 .get() 153 .get()
160 currentBrowserState:chrome_browser_state_
161 .get()
162 delegate:mockDelegate_]; 154 delegate:mockDelegate_];
163 EXPECT_EQ(1U, [[settingsController viewControllers] count]); 155 EXPECT_EQ(1U, [[settingsController viewControllers] count]);
164 [[mockDelegate_ expect] closeSettings]; 156 [[mockDelegate_ expect] closeSettings];
165 [settingsController popViewControllerOrCloseSettingsAnimated:NO]; 157 [settingsController popViewControllerOrCloseSettingsAnimated:NO];
166 EXPECT_OCMOCK_VERIFY(mockDelegate_); 158 EXPECT_OCMOCK_VERIFY(mockDelegate_);
167 } 159 }
168 } 160 }
169 161
170 } // namespace 162 } // namespace
OLDNEW
« no previous file with comments | « ios/chrome/browser/ui/settings/settings_navigation_controller.mm ('k') | ios/chrome/browser/web/external_app_launcher.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698