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

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller_browsertest.cc

Issue 5809001: Removed old login screen from source. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed comments Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "app/l10n_util.h" 5 #include "app/l10n_util.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/browser_process.h" 7 #include "chrome/browser/browser_process.h"
8 #include "chrome/browser/chromeos/login/account_screen.h" 8 #include "chrome/browser/chromeos/login/account_screen.h"
9 #include "chrome/browser/chromeos/login/eula_view.h" 9 #include "chrome/browser/chromeos/login/eula_view.h"
10 #include "chrome/browser/chromeos/login/existing_user_controller.h"
10 #include "chrome/browser/chromeos/login/language_switch_menu.h" 11 #include "chrome/browser/chromeos/login/language_switch_menu.h"
11 #include "chrome/browser/chromeos/login/login_screen.h"
12 #include "chrome/browser/chromeos/login/mock_update_screen.h" 12 #include "chrome/browser/chromeos/login/mock_update_screen.h"
13 #include "chrome/browser/chromeos/login/network_screen.h" 13 #include "chrome/browser/chromeos/login/network_screen.h"
14 #include "chrome/browser/chromeos/login/network_selection_view.h" 14 #include "chrome/browser/chromeos/login/network_selection_view.h"
15 #include "chrome/browser/chromeos/login/user_image_screen.h" 15 #include "chrome/browser/chromeos/login/user_image_screen.h"
16 #include "chrome/browser/chromeos/login/wizard_controller.h" 16 #include "chrome/browser/chromeos/login/wizard_controller.h"
17 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" 17 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h"
18 #include "chrome/test/ui_test_utils.h" 18 #include "chrome/test/ui_test_utils.h"
19 #include "grit/generated_resources.h" 19 #include "grit/generated_resources.h"
20 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 28 matching lines...) Expand all
50 } 50 }
51 51
52 #define MOCK(mock_var, screen_name, mocked_class) \ 52 #define MOCK(mock_var, screen_name, mocked_class) \
53 mock_var = CreateMockWizardScreenHelper<mocked_class>::Create(controller()); \ 53 mock_var = CreateMockWizardScreenHelper<mocked_class>::Create(controller()); \
54 controller()->screen_name.reset(mock_var); \ 54 controller()->screen_name.reset(mock_var); \
55 EXPECT_CALL(*mock_var, Show()).Times(0); \ 55 EXPECT_CALL(*mock_var, Show()).Times(0); \
56 EXPECT_CALL(*mock_var, Hide()).Times(0); 56 EXPECT_CALL(*mock_var, Hide()).Times(0);
57 57
58 } // namespace 58 } // namespace
59 59
60 using chromeos::ExistingUserController;
61
60 class WizardControllerTest : public chromeos::WizardInProcessBrowserTest { 62 class WizardControllerTest : public chromeos::WizardInProcessBrowserTest {
61 protected: 63 protected:
62 WizardControllerTest() : chromeos::WizardInProcessBrowserTest( 64 WizardControllerTest() : chromeos::WizardInProcessBrowserTest(
63 WizardController::kTestNoScreenName) {} 65 WizardController::kTestNoScreenName) {}
64 virtual ~WizardControllerTest() {} 66 virtual ~WizardControllerTest() {}
65 67
66 private: 68 private:
67 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest); 69 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest);
68 }; 70 };
69 71
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 WizardControllerFlowTest() {} 109 WizardControllerFlowTest() {}
108 // Overriden from InProcessBrowserTest: 110 // Overriden from InProcessBrowserTest:
109 virtual Browser* CreateBrowser(Profile* profile) { 111 virtual Browser* CreateBrowser(Profile* profile) {
110 Browser* ret = WizardControllerTest::CreateBrowser(profile); 112 Browser* ret = WizardControllerTest::CreateBrowser(profile);
111 113
112 // Make sure that OOBE is run as an "official" build. 114 // Make sure that OOBE is run as an "official" build.
113 WizardController::default_controller()->is_official_build_ = true; 115 WizardController::default_controller()->is_official_build_ = true;
114 116
115 // Set up the mocks for all screens. 117 // Set up the mocks for all screens.
116 MOCK(mock_account_screen_, account_screen_, chromeos::AccountScreen); 118 MOCK(mock_account_screen_, account_screen_, chromeos::AccountScreen);
117 MOCK(mock_login_screen_, login_screen_, chromeos::LoginScreen);
118 MOCK(mock_network_screen_, network_screen_, chromeos::NetworkScreen); 119 MOCK(mock_network_screen_, network_screen_, chromeos::NetworkScreen);
119 MOCK(mock_update_screen_, update_screen_, MockUpdateScreen); 120 MOCK(mock_update_screen_, update_screen_, MockUpdateScreen);
120 MOCK(mock_eula_screen_, eula_screen_, chromeos::EulaScreen); 121 MOCK(mock_eula_screen_, eula_screen_, chromeos::EulaScreen);
121 122
122 // Switch to the initial screen. 123 // Switch to the initial screen.
123 EXPECT_EQ(NULL, controller()->current_screen()); 124 EXPECT_EQ(NULL, controller()->current_screen());
124 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 125 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
125 controller()->ShowFirstScreen(WizardController::kNetworkScreenName); 126 controller()->ShowFirstScreen(WizardController::kNetworkScreenName);
126 127
127 return ret; 128 return ret;
128 } 129 }
129 130
130 MockOutShowHide<chromeos::AccountScreen>* mock_account_screen_; 131 MockOutShowHide<chromeos::AccountScreen>* mock_account_screen_;
131 MockOutShowHide<chromeos::LoginScreen>* mock_login_screen_;
132 MockOutShowHide<chromeos::NetworkScreen>* mock_network_screen_; 132 MockOutShowHide<chromeos::NetworkScreen>* mock_network_screen_;
133 MockOutShowHide<MockUpdateScreen>* mock_update_screen_; 133 MockOutShowHide<MockUpdateScreen>* mock_update_screen_;
134 MockOutShowHide<chromeos::EulaScreen>* mock_eula_screen_; 134 MockOutShowHide<chromeos::EulaScreen>* mock_eula_screen_;
135 135
136 private: 136 private:
137 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); 137 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest);
138 }; 138 };
139 139
140 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { 140 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) {
141 EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
141 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 142 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
142 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 143 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
143 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 144 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
144 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); 145 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED);
145 146
146 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); 147 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
147 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 148 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
148 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); 149 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1);
149 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 150 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
150 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED); 151 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED);
151 152
152 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); 153 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen());
153 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 154 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0);
154 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 155 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
155 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
156 controller()->OnExit(chromeos::ScreenObserver::UPDATE_INSTALLED); 156 controller()->OnExit(chromeos::ScreenObserver::UPDATE_INSTALLED);
157 157
158 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 158 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
159 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1); 159 set_controller(NULL);
160 EXPECT_CALL(*mock_account_screen_, Show()).Times(1);
161 controller()->OnExit(chromeos::ScreenObserver::LOGIN_CREATE_ACCOUNT);
162
163 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen());
164 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1);
165 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
166 EXPECT_CALL(*mock_login_screen_, Hide()).Times(0); // last transition
167 controller()->OnExit(chromeos::ScreenObserver::ACCOUNT_CREATED);
168
169 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen());
170 } 160 }
171 161
172 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { 162 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) {
173 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 163 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
174 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); 164 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0);
175 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 165 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
176 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 166 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
177 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 167 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
178 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); 168 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED);
179 169
180 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); 170 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
181 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 171 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
182 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); 172 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1);
183 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 173 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
184 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED); 174 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED);
185 175
186 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); 176 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen());
187 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 177 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0);
188 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 178 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
189 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition 179 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition
190 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
191 controller()->OnExit( 180 controller()->OnExit(
192 chromeos::ScreenObserver::UPDATE_ERROR_UPDATING); 181 chromeos::ScreenObserver::UPDATE_ERROR_UPDATING);
193 182
194 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 183 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
184 set_controller(NULL);
195 } 185 }
196 186
197 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { 187 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) {
198 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 188 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
199 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); 189 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0);
200 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 190 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
201 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 191 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
202 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); 192 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED);
203 193
204 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); 194 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
205 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 195 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
206 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 196 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
207 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition 197 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition
208 controller()->OnExit(chromeos::ScreenObserver::EULA_BACK); 198 controller()->OnExit(chromeos::ScreenObserver::EULA_BACK);
209 199
210 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 200 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
211 } 201 }
212 202
213 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorNetwork) { 203 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorNetwork) {
214 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 204 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
215 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
216 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
217 controller()->OnExit(chromeos::ScreenObserver::NETWORK_OFFLINE); 205 controller()->OnExit(chromeos::ScreenObserver::NETWORK_OFFLINE);
218 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 206
207 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
208 set_controller(NULL);
219 } 209 }
220 210
221 #if defined(OFFICIAL_BUILD) 211 #if defined(OFFICIAL_BUILD)
222 // This test is supposed to fail on official test. 212 // This test is supposed to fail on official build.
223 #define MAYBE_Accelerators DISABLED_Accelerators 213 #define MAYBE_Accelerators DISABLED_Accelerators
224 #else 214 #else
225 #define MAYBE_Accelerators Accelerators 215 #define MAYBE_Accelerators Accelerators
226 #endif 216 #endif
227 217
228 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, MAYBE_Accelerators) { 218 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, MAYBE_Accelerators) {
229 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 219 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
230 220
231 views::FocusManager* focus_manager = 221 views::FocusManager* focus_manager =
232 controller()->contents()->GetFocusManager(); 222 controller()->contents()->GetFocusManager();
233 views::Accelerator accel_account_screen(app::VKEY_A, false, true, true); 223 views::Accelerator accel_account_screen(app::VKEY_A, false, true, true);
234 views::Accelerator accel_login_screen(app::VKEY_L, false, true, true);
235 views::Accelerator accel_network_screen(app::VKEY_N, false, true, true); 224 views::Accelerator accel_network_screen(app::VKEY_N, false, true, true);
236 views::Accelerator accel_update_screen(app::VKEY_U, false, true, true); 225 views::Accelerator accel_update_screen(app::VKEY_U, false, true, true);
237 views::Accelerator accel_image_screen(app::VKEY_I, false, true, true); 226 views::Accelerator accel_image_screen(app::VKEY_I, false, true, true);
238 views::Accelerator accel_eula_screen(app::VKEY_E, false, true, true); 227 views::Accelerator accel_eula_screen(app::VKEY_E, false, true, true);
239 228
240 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 229 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
241 EXPECT_CALL(*mock_account_screen_, Show()).Times(1); 230 EXPECT_CALL(*mock_account_screen_, Show()).Times(1);
242 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_account_screen)); 231 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_account_screen));
243 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen()); 232 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen());
244 233
245 focus_manager = controller()->contents()->GetFocusManager(); 234 focus_manager = controller()->contents()->GetFocusManager();
246 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1); 235 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1);
247 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
248 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_login_screen));
249 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen());
250
251 focus_manager = controller()->contents()->GetFocusManager();
252 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1);
253 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 236 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
254 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_network_screen)); 237 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_network_screen));
255 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 238 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
256 239
257 focus_manager = controller()->contents()->GetFocusManager(); 240 focus_manager = controller()->contents()->GetFocusManager();
258 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 241 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
259 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 242 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
260 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_update_screen)); 243 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_update_screen));
261 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); 244 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen());
262 245
263 focus_manager = controller()->contents()->GetFocusManager(); 246 focus_manager = controller()->contents()->GetFocusManager();
264 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 247 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
265 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_image_screen)); 248 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_image_screen));
266 EXPECT_EQ(controller()->GetUserImageScreen(), controller()->current_screen()); 249 EXPECT_EQ(controller()->GetUserImageScreen(), controller()->current_screen());
267 250
268 focus_manager = controller()->contents()->GetFocusManager(); 251 focus_manager = controller()->contents()->GetFocusManager();
269 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 252 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
270 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_eula_screen)); 253 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_eula_screen));
271 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); 254 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
272 } 255 }
273 256
274 COMPILE_ASSERT(chromeos::ScreenObserver::EXIT_CODES_COUNT == 18, 257 COMPILE_ASSERT(chromeos::ScreenObserver::EXIT_CODES_COUNT == 15,
275 add_tests_for_new_control_flow_you_just_introduced); 258 add_tests_for_new_control_flow_you_just_introduced);
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/browser/chromeos/login/wizard_in_process_browser_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698