Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
| 9 #include "chrome/browser/browser_shutdown.h" | 9 #include "chrome/browser/browser_shutdown.h" |
| 10 #include "chrome/browser/chromeos/cros/cros_library.h" | |
| 11 #include "chrome/browser/chromeos/cros/network_library.h" | |
| 12 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 10 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 13 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" | 11 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" |
| 14 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 12 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 15 #include "chrome/browser/chromeos/login/language_switch_menu.h" | 13 #include "chrome/browser/chromeos/login/language_switch_menu.h" |
| 16 #include "chrome/browser/chromeos/login/login_display_host_impl.h" | 14 #include "chrome/browser/chromeos/login/login_display_host_impl.h" |
| 17 #include "chrome/browser/chromeos/login/mock_authenticator.h" | 15 #include "chrome/browser/chromeos/login/mock_authenticator.h" |
| 18 #include "chrome/browser/chromeos/login/mock_login_status_consumer.h" | 16 #include "chrome/browser/chromeos/login/mock_login_status_consumer.h" |
| 19 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" | 17 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" |
| 20 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" | 18 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" |
| 21 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" | 19 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" |
| 22 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 20 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
| 23 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 21 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
| 24 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" | 22 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" |
| 25 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" | 23 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" |
| 26 #include "chrome/browser/chromeos/login/startup_utils.h" | 24 #include "chrome/browser/chromeos/login/startup_utils.h" |
| 27 #include "chrome/browser/chromeos/login/test_login_utils.h" | 25 #include "chrome/browser/chromeos/login/test_login_utils.h" |
| 28 #include "chrome/browser/chromeos/login/wizard_controller.h" | 26 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 29 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" | 27 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" |
| 30 #include "chrome/common/chrome_paths.h" | 28 #include "chrome/common/chrome_paths.h" |
| 31 #include "chrome/test/base/ui_test_utils.h" | 29 #include "chrome/test/base/ui_test_utils.h" |
| 32 #include "chromeos/chromeos_switches.h" | 30 #include "chromeos/chromeos_switches.h" |
| 33 #include "chromeos/chromeos_test_utils.h" | 31 #include "chromeos/chromeos_test_utils.h" |
| 32 #include "chromeos/network/network_state_handler.h" | |
| 34 #include "grit/generated_resources.h" | 33 #include "grit/generated_resources.h" |
| 35 #include "testing/gmock/include/gmock/gmock.h" | 34 #include "testing/gmock/include/gmock/gmock.h" |
| 36 #include "testing/gtest/include/gtest/gtest.h" | 35 #include "testing/gtest/include/gtest/gtest.h" |
| 37 #include "third_party/icu/public/common/unicode/locid.h" | 36 #include "third_party/icu/public/common/unicode/locid.h" |
| 38 #include "ui/base/accelerators/accelerator.h" | 37 #include "ui/base/accelerators/accelerator.h" |
| 39 #include "ui/base/l10n/l10n_util.h" | 38 #include "ui/base/l10n/l10n_util.h" |
| 40 | 39 |
| 41 namespace chromeos { | 40 namespace chromeos { |
| 42 | 41 |
| 43 namespace { | 42 namespace { |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 109 UTF16ToWide(l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE)); | 108 UTF16ToWide(l10n_util::GetStringUTF16(IDS_NETWORK_SELECTION_TITLE)); |
| 110 | 109 |
| 111 EXPECT_NE(fr_str, ar_str); | 110 EXPECT_NE(fr_str, ar_str); |
| 112 } | 111 } |
| 113 | 112 |
| 114 class WizardControllerFlowTest : public WizardControllerTest { | 113 class WizardControllerFlowTest : public WizardControllerTest { |
| 115 protected: | 114 protected: |
| 116 WizardControllerFlowTest() {} | 115 WizardControllerFlowTest() {} |
| 117 // Overriden from InProcessBrowserTest: | 116 // Overriden from InProcessBrowserTest: |
| 118 virtual void SetUpOnMainThread() OVERRIDE { | 117 virtual void SetUpOnMainThread() OVERRIDE { |
| 118 NetworkHandler::Get()->network_state_handler()->InitShillPropertyHandler(); | |
|
stevenjb
2013/05/30 01:43:13
This should not be necessary
gauravsh
2013/05/30 18:27:37
Weird. If I remove this, the test starts failing.
stevenjb
2013/05/30 18:43:53
How does it fail exactly?
| |
| 119 WizardControllerTest::SetUpOnMainThread(); | 119 WizardControllerTest::SetUpOnMainThread(); |
| 120 | 120 |
| 121 // Make sure that OOBE is run as an "official" build. | 121 // Make sure that OOBE is run as an "official" build. |
| 122 WizardController::default_controller()->is_official_build_ = true; | 122 WizardController::default_controller()->is_official_build_ = true; |
| 123 | 123 |
| 124 // Clear portal list (as it is by default in OOBE). | 124 // Clear portal list (as it is by default in OOBE). |
| 125 CrosLibrary::Get()->GetNetworkLibrary()->SetCheckPortalList(""); | 125 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); |
| 126 | 126 |
| 127 // Set up the mocks for all screens. | 127 // Set up the mocks for all screens. |
| 128 MOCK(mock_network_screen_, network_screen_, | 128 MOCK(mock_network_screen_, network_screen_, |
| 129 MockNetworkScreen, MockNetworkScreenActor); | 129 MockNetworkScreen, MockNetworkScreenActor); |
| 130 MOCK(mock_update_screen_, update_screen_, | 130 MOCK(mock_update_screen_, update_screen_, |
| 131 MockUpdateScreen, MockUpdateScreenActor); | 131 MockUpdateScreen, MockUpdateScreenActor); |
| 132 MOCK(mock_eula_screen_, eula_screen_, MockEulaScreen, MockEulaScreenActor); | 132 MOCK(mock_eula_screen_, eula_screen_, MockEulaScreen, MockEulaScreenActor); |
| 133 MOCK(mock_enrollment_screen_, enrollment_screen_, | 133 MOCK(mock_enrollment_screen_, enrollment_screen_, |
| 134 MockEnrollmentScreen, MockEnrollmentScreenActor); | 134 MockEnrollmentScreen, MockEnrollmentScreenActor); |
| 135 | 135 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 172 // Let update screen smooth time process (time = 0ms). | 172 // Let update screen smooth time process (time = 0ms). |
| 173 content::RunAllPendingInMessageLoop(); | 173 content::RunAllPendingInMessageLoop(); |
| 174 | 174 |
| 175 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), | 175 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
| 176 WizardController::default_controller()->current_screen()); | 176 WizardController::default_controller()->current_screen()); |
| 177 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); | 177 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
| 178 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 178 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
| 179 OnExit(ScreenObserver::UPDATE_INSTALLED); | 179 OnExit(ScreenObserver::UPDATE_INSTALLED); |
| 180 | 180 |
| 181 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 181 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 182 EXPECT_EQ("ethernet,wifi,cellular", | 182 EXPECT_EQ( |
| 183 CrosLibrary::Get()->GetNetworkLibrary()->GetCheckPortalList()); | 183 "ethernet,wifi,cellular", |
| 184 NetworkHandler::Get()->network_state_handler()->check_portal_list()); | |
| 184 } | 185 } |
| 185 | 186 |
| 186 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { | 187 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { |
| 187 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), | 188 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
| 188 WizardController::default_controller()->current_screen()); | 189 WizardController::default_controller()->current_screen()); |
| 189 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 190 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 190 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 191 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 191 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 192 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 192 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 193 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 193 OnExit(ScreenObserver::NETWORK_CONNECTED); | 194 OnExit(ScreenObserver::NETWORK_CONNECTED); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 228 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); | 229 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); |
| 229 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 230 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 230 SetParameters(mock_enrollment_screen_, | 231 SetParameters(mock_enrollment_screen_, |
| 231 false, // is_auto_enrollment | 232 false, // is_auto_enrollment |
| 232 true, // can_exit_enrollment | 233 true, // can_exit_enrollment |
| 233 "")) | 234 "")) |
| 234 .Times(1); | 235 .Times(1); |
| 235 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 236 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 236 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); | 237 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); |
| 237 OnExit(ScreenObserver::EULA_ACCEPTED); | 238 OnExit(ScreenObserver::EULA_ACCEPTED); |
| 239 content::RunAllPendingInMessageLoop(); | |
| 238 | 240 |
| 239 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), | 241 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), |
| 240 WizardController::default_controller()->current_screen()); | 242 WizardController::default_controller()->current_screen()); |
| 241 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); | 243 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
| 242 EXPECT_EQ("ethernet,wifi,cellular", | 244 EXPECT_EQ( |
| 243 CrosLibrary::Get()->GetNetworkLibrary()->GetCheckPortalList()); | 245 "ethernet,wifi,cellular", |
| 246 NetworkHandler::Get()->network_state_handler()->check_portal_list()); | |
| 244 } | 247 } |
| 245 | 248 |
| 246 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { | 249 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { |
| 247 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), | 250 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
| 248 WizardController::default_controller()->current_screen()); | 251 WizardController::default_controller()->current_screen()); |
| 249 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 252 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 250 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 253 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 251 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 254 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 252 OnExit(ScreenObserver::NETWORK_CONNECTED); | 255 OnExit(ScreenObserver::NETWORK_CONNECTED); |
| 253 | 256 |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 419 } | 422 } |
| 420 | 423 |
| 421 // TODO(dzhioev): Add test emaulating device with wrong HWID. | 424 // TODO(dzhioev): Add test emaulating device with wrong HWID. |
| 422 | 425 |
| 423 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 | 426 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 |
| 424 | 427 |
| 425 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 15, | 428 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 15, |
| 426 add_tests_for_new_control_flow_you_just_introduced); | 429 add_tests_for_new_control_flow_you_just_introduced); |
| 427 | 430 |
| 428 } // namespace chromeos | 431 } // namespace chromeos |
| OLD | NEW |