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

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

Issue 2920001: EULA screen implemented.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/browser/browser_process.h" 6 #include "chrome/browser/browser_process.h"
7 #include "chrome/browser/chromeos/login/account_screen.h" 7 #include "chrome/browser/chromeos/login/account_screen.h"
8 #include "chrome/browser/chromeos/login/eula_view.h"
8 #include "chrome/browser/chromeos/login/language_switch_menu.h" 9 #include "chrome/browser/chromeos/login/language_switch_menu.h"
9 #include "chrome/browser/chromeos/login/login_screen.h" 10 #include "chrome/browser/chromeos/login/login_screen.h"
10 #include "chrome/browser/chromeos/login/mock_update_screen.h" 11 #include "chrome/browser/chromeos/login/mock_update_screen.h"
11 #include "chrome/browser/chromeos/login/network_screen.h" 12 #include "chrome/browser/chromeos/login/network_screen.h"
12 #include "chrome/browser/chromeos/login/network_selection_view.h" 13 #include "chrome/browser/chromeos/login/network_selection_view.h"
13 #include "chrome/browser/chromeos/login/user_image_screen.h" 14 #include "chrome/browser/chromeos/login/user_image_screen.h"
14 #include "chrome/browser/chromeos/login/wizard_controller.h" 15 #include "chrome/browser/chromeos/login/wizard_controller.h"
15 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" 16 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h"
16 #include "chrome/common/chrome_switches.h" 17 #include "chrome/common/chrome_switches.h"
17 #include "chrome/common/notification_service.h" 18 #include "chrome/common/notification_service.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 WizardControllerFlowTest() {} 103 WizardControllerFlowTest() {}
103 // Overriden from InProcessBrowserTest: 104 // Overriden from InProcessBrowserTest:
104 virtual Browser* CreateBrowser(Profile* profile) { 105 virtual Browser* CreateBrowser(Profile* profile) {
105 Browser* ret = WizardControllerTest::CreateBrowser(profile); 106 Browser* ret = WizardControllerTest::CreateBrowser(profile);
106 107
107 // Set up the mocks for all screens. 108 // Set up the mocks for all screens.
108 MOCK(mock_account_screen_, account_screen_, chromeos::AccountScreen); 109 MOCK(mock_account_screen_, account_screen_, chromeos::AccountScreen);
109 MOCK(mock_login_screen_, login_screen_, chromeos::LoginScreen); 110 MOCK(mock_login_screen_, login_screen_, chromeos::LoginScreen);
110 MOCK(mock_network_screen_, network_screen_, chromeos::NetworkScreen); 111 MOCK(mock_network_screen_, network_screen_, chromeos::NetworkScreen);
111 MOCK(mock_update_screen_, update_screen_, MockUpdateScreen); 112 MOCK(mock_update_screen_, update_screen_, MockUpdateScreen);
113 MOCK(mock_eula_screen_, eula_screen_, chromeos::EulaScreen);
112 114
113 // Switch to the initial screen. 115 // Switch to the initial screen.
114 EXPECT_EQ(NULL, controller()->current_screen()); 116 EXPECT_EQ(NULL, controller()->current_screen());
115 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 117 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
116 controller()->ShowFirstScreen(WizardController::kOutOfBoxScreenName); 118 controller()->ShowFirstScreen(WizardController::kOutOfBoxScreenName);
117 119
118 return ret; 120 return ret;
119 } 121 }
120 122
121 MockOutShowHide<chromeos::AccountScreen>* mock_account_screen_; 123 MockOutShowHide<chromeos::AccountScreen>* mock_account_screen_;
122 MockOutShowHide<chromeos::LoginScreen>* mock_login_screen_; 124 MockOutShowHide<chromeos::LoginScreen>* mock_login_screen_;
123 MockOutShowHide<chromeos::NetworkScreen>* mock_network_screen_; 125 MockOutShowHide<chromeos::NetworkScreen>* mock_network_screen_;
124 MockOutShowHide<MockUpdateScreen>* mock_update_screen_; 126 MockOutShowHide<MockUpdateScreen>* mock_update_screen_;
127 MockOutShowHide<chromeos::EulaScreen>* mock_eula_screen_;
125 128
126 private: 129 private:
127 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); 130 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest);
128 }; 131 };
129 132
130 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { 133 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) {
131 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 134 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
132 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 135 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
133 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); 136 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1);
134 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 137 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
135 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); 138 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED);
136 139
137 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); 140 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen());
138 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 141 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
142 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
143 controller()->OnExit(chromeos::ScreenObserver::UPDATE_INSTALLED);
144
145 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
146 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
139 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); 147 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
140 controller()->OnExit(chromeos::ScreenObserver::UPDATE_INSTALLED); 148 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED);
141 149
142 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 150 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen());
143 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1); 151 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1);
144 EXPECT_CALL(*mock_account_screen_, Show()).Times(1); 152 EXPECT_CALL(*mock_account_screen_, Show()).Times(1);
145 controller()->OnExit(chromeos::ScreenObserver::LOGIN_CREATE_ACCOUNT); 153 controller()->OnExit(chromeos::ScreenObserver::LOGIN_CREATE_ACCOUNT);
146 154
147 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen()); 155 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen());
148 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1); 156 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1);
149 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); 157 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
150 EXPECT_CALL(*mock_login_screen_, Hide()).Times(0); // last transition 158 EXPECT_CALL(*mock_login_screen_, Hide()).Times(0); // last transition
151 controller()->OnExit(chromeos::ScreenObserver::ACCOUNT_CREATED); 159 controller()->OnExit(chromeos::ScreenObserver::ACCOUNT_CREATED);
152 160
153 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 161 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen());
154 } 162 }
155 163
156 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { 164 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) {
157 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 165 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
158 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); 166 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1);
159 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 167 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
160 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 168 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
161 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); 169 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED);
162 170
163 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); 171 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen());
164 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 172 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
165 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); 173 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
166 EXPECT_CALL(*mock_login_screen_, Hide()).Times(0); // last transition 174 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition
167 controller()->OnExit( 175 controller()->OnExit(
168 chromeos::ScreenObserver::UPDATE_ERROR_UPDATING); 176 chromeos::ScreenObserver::UPDATE_ERROR_UPDATING);
169 177
170 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 178 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
171 } 179 }
172 180
173 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorNetwork) { 181 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorNetwork) {
174 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 182 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
175 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); 183 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
176 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 184 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
177 controller()->OnExit(chromeos::ScreenObserver::NETWORK_OFFLINE); 185 controller()->OnExit(chromeos::ScreenObserver::NETWORK_OFFLINE);
178 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 186 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen());
179 } 187 }
180 188
181 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, Accelerators) { 189 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, Accelerators) {
182 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 190 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
183 191
184 views::FocusManager* focus_manager = 192 views::FocusManager* focus_manager =
185 controller()->contents()->GetFocusManager(); 193 controller()->contents()->GetFocusManager();
186 views::Accelerator accel_account_screen(base::VKEY_A, false, true, true); 194 views::Accelerator accel_account_screen(base::VKEY_A, false, true, true);
187 views::Accelerator accel_login_screen(base::VKEY_L, false, true, true); 195 views::Accelerator accel_login_screen(base::VKEY_L, false, true, true);
188 views::Accelerator accel_network_screen(base::VKEY_N, false, true, true); 196 views::Accelerator accel_network_screen(base::VKEY_N, false, true, true);
189 views::Accelerator accel_update_screen(base::VKEY_U, false, true, true); 197 views::Accelerator accel_update_screen(base::VKEY_U, false, true, true);
190 views::Accelerator accel_image_screen(base::VKEY_I, false, true, true); 198 views::Accelerator accel_image_screen(base::VKEY_I, false, true, true);
199 views::Accelerator accel_eula_screen(base::VKEY_E, false, true, true);
191 200
192 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 201 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
193 EXPECT_CALL(*mock_account_screen_, Show()).Times(1); 202 EXPECT_CALL(*mock_account_screen_, Show()).Times(1);
194 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_account_screen)); 203 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_account_screen));
195 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen()); 204 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen());
196 205
197 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1); 206 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1);
198 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); 207 EXPECT_CALL(*mock_login_screen_, Show()).Times(1);
199 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_login_screen)); 208 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_login_screen));
200 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); 209 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen());
201 210
202 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1); 211 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1);
203 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 212 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
204 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_network_screen)); 213 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_network_screen));
205 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); 214 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen());
206 215
207 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 216 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
208 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 217 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
209 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_update_screen)); 218 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_update_screen));
210 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); 219 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen());
211 220
212 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 221 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
213 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_image_screen)); 222 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_image_screen));
214 EXPECT_EQ(controller()->GetUserImageScreen(), controller()->current_screen()); 223 EXPECT_EQ(controller()->GetUserImageScreen(), controller()->current_screen());
224
225 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
226 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_eula_screen));
227 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen());
215 } 228 }
216 229
217 COMPILE_ASSERT(chromeos::ScreenObserver::EXIT_CODES_COUNT == 14, 230 COMPILE_ASSERT(chromeos::ScreenObserver::EXIT_CODES_COUNT == 15,
218 add_tests_for_new_control_flow_you_just_introduced); 231 add_tests_for_new_control_flow_you_just_introduced);
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698