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 "chrome/browser/chromeos/login/wizard_controller.h" | 5 #include "chrome/browser/chromeos/login/wizard_controller.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 base::RunLoop* loop, | 176 base::RunLoop* loop, |
177 policy::AutoEnrollmentState actual_state) { | 177 policy::AutoEnrollmentState actual_state) { |
178 if (expected_state == actual_state) | 178 if (expected_state == actual_state) |
179 loop->Quit(); | 179 loop->Quit(); |
180 } | 180 } |
181 | 181 |
182 void WaitForAutoEnrollmentState(policy::AutoEnrollmentState state) { | 182 void WaitForAutoEnrollmentState(policy::AutoEnrollmentState state) { |
183 base::RunLoop loop; | 183 base::RunLoop loop; |
184 AutoEnrollmentController* auto_enrollment_controller = | 184 AutoEnrollmentController* auto_enrollment_controller = |
185 LoginDisplayHost::default_host()->GetAutoEnrollmentController(); | 185 LoginDisplayHost::default_host()->GetAutoEnrollmentController(); |
186 scoped_ptr<AutoEnrollmentController::ProgressCallbackList::Subscription> | 186 std::unique_ptr<AutoEnrollmentController::ProgressCallbackList::Subscription> |
187 progress_subscription( | 187 progress_subscription( |
188 auto_enrollment_controller->RegisterProgressCallback( | 188 auto_enrollment_controller->RegisterProgressCallback( |
189 base::Bind(&QuitLoopOnAutoEnrollmentProgress, state, &loop))); | 189 base::Bind(&QuitLoopOnAutoEnrollmentProgress, state, &loop))); |
190 loop.Run(); | 190 loop.Run(); |
191 } | 191 } |
192 | 192 |
193 } // namespace | 193 } // namespace |
194 | 194 |
195 using ::testing::_; | 195 using ::testing::_; |
196 | 196 |
(...skipping 14 matching lines...) Expand all Loading... |
211 | 211 |
212 void RealShow() { | 212 void RealShow() { |
213 T::Show(); | 213 T::Show(); |
214 } | 214 } |
215 | 215 |
216 void RealHide() { | 216 void RealHide() { |
217 T::Hide(); | 217 T::Hide(); |
218 } | 218 } |
219 | 219 |
220 private: | 220 private: |
221 scoped_ptr<H> actor_; | 221 std::unique_ptr<H> actor_; |
222 }; | 222 }; |
223 | 223 |
224 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \ | 224 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \ |
225 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ | 225 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ |
226 WizardController::default_controller(), new actor_class); \ | 226 WizardController::default_controller(), new actor_class); \ |
227 WizardController::default_controller() \ | 227 WizardController::default_controller() \ |
228 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \ | 228 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \ |
229 EXPECT_CALL(*mock_var, Show()).Times(0); \ | 229 EXPECT_CALL(*mock_var, Show()).Times(0); \ |
230 EXPECT_CALL(*mock_var, Hide()).Times(0); | 230 EXPECT_CALL(*mock_var, Hide()).Times(0); |
231 | 231 |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 // Check that output is unmuted now and at some level. | 361 // Check that output is unmuted now and at some level. |
362 CrasAudioHandler* cras = CrasAudioHandler::Get(); | 362 CrasAudioHandler* cras = CrasAudioHandler::Get(); |
363 ASSERT_FALSE(cras->IsOutputMuted()); | 363 ASSERT_FALSE(cras->IsOutputMuted()); |
364 ASSERT_EQ(WizardController::kMinAudibleOutputVolumePercent, | 364 ASSERT_EQ(WizardController::kMinAudibleOutputVolumePercent, |
365 cras->GetOutputVolumePercent()); | 365 cras->GetOutputVolumePercent()); |
366 } | 366 } |
367 | 367 |
368 class WizardControllerTestURLFetcherFactory | 368 class WizardControllerTestURLFetcherFactory |
369 : public net::TestURLFetcherFactory { | 369 : public net::TestURLFetcherFactory { |
370 public: | 370 public: |
371 scoped_ptr<net::URLFetcher> CreateURLFetcher( | 371 std::unique_ptr<net::URLFetcher> CreateURLFetcher( |
372 int id, | 372 int id, |
373 const GURL& url, | 373 const GURL& url, |
374 net::URLFetcher::RequestType request_type, | 374 net::URLFetcher::RequestType request_type, |
375 net::URLFetcherDelegate* d) override { | 375 net::URLFetcherDelegate* d) override { |
376 if (base::StartsWith( | 376 if (base::StartsWith( |
377 url.spec(), | 377 url.spec(), |
378 SimpleGeolocationProvider::DefaultGeolocationProviderURL().spec(), | 378 SimpleGeolocationProvider::DefaultGeolocationProviderURL().spec(), |
379 base::CompareCase::SENSITIVE)) { | 379 base::CompareCase::SENSITIVE)) { |
380 return scoped_ptr<net::URLFetcher>(new net::FakeURLFetcher( | 380 return std::unique_ptr<net::URLFetcher>(new net::FakeURLFetcher( |
381 url, d, std::string(kGeolocationResponseBody), net::HTTP_OK, | 381 url, d, std::string(kGeolocationResponseBody), net::HTTP_OK, |
382 net::URLRequestStatus::SUCCESS)); | 382 net::URLRequestStatus::SUCCESS)); |
383 } | 383 } |
384 if (base::StartsWith(url.spec(), | 384 if (base::StartsWith(url.spec(), |
385 chromeos::DefaultTimezoneProviderURL().spec(), | 385 chromeos::DefaultTimezoneProviderURL().spec(), |
386 base::CompareCase::SENSITIVE)) { | 386 base::CompareCase::SENSITIVE)) { |
387 return scoped_ptr<net::URLFetcher>(new net::FakeURLFetcher( | 387 return std::unique_ptr<net::URLFetcher>(new net::FakeURLFetcher( |
388 url, d, std::string(kTimezoneResponseBody), net::HTTP_OK, | 388 url, d, std::string(kTimezoneResponseBody), net::HTTP_OK, |
389 net::URLRequestStatus::SUCCESS)); | 389 net::URLRequestStatus::SUCCESS)); |
390 } | 390 } |
391 return net::TestURLFetcherFactory::CreateURLFetcher( | 391 return net::TestURLFetcherFactory::CreateURLFetcher( |
392 id, url, request_type, d); | 392 id, url, request_type, d); |
393 } | 393 } |
394 ~WizardControllerTestURLFetcherFactory() override {} | 394 ~WizardControllerTestURLFetcherFactory() override {} |
395 }; | 395 }; |
396 | 396 |
397 class TimeZoneTestRunner { | 397 class TimeZoneTestRunner { |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { | 500 void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { |
501 WizardController::default_controller()->OnExit(screen, exit_code, | 501 WizardController::default_controller()->OnExit(screen, exit_code, |
502 nullptr /* context */); | 502 nullptr /* context */); |
503 } | 503 } |
504 | 504 |
505 chromeos::SimpleGeolocationProvider* GetGeolocationProvider() { | 505 chromeos::SimpleGeolocationProvider* GetGeolocationProvider() { |
506 return WizardController::default_controller()->geolocation_provider_.get(); | 506 return WizardController::default_controller()->geolocation_provider_.get(); |
507 } | 507 } |
508 | 508 |
509 void WaitUntilTimezoneResolved() { | 509 void WaitUntilTimezoneResolved() { |
510 scoped_ptr<TimeZoneTestRunner> runner(new TimeZoneTestRunner); | 510 std::unique_ptr<TimeZoneTestRunner> runner(new TimeZoneTestRunner); |
511 if (!WizardController::default_controller() | 511 if (!WizardController::default_controller() |
512 ->SetOnTimeZoneResolvedForTesting( | 512 ->SetOnTimeZoneResolvedForTesting( |
513 base::Bind(&TimeZoneTestRunner::OnResolved, | 513 base::Bind(&TimeZoneTestRunner::OnResolved, |
514 base::Unretained(runner.get())))) | 514 base::Unretained(runner.get())))) |
515 return; | 515 return; |
516 | 516 |
517 runner->Run(); | 517 runner->Run(); |
518 } | 518 } |
519 | 519 |
520 void ResetAutoEnrollmentCheckScreen() { | 520 void ResetAutoEnrollmentCheckScreen() { |
521 WizardController::default_controller()->screens_.erase( | 521 WizardController::default_controller()->screens_.erase( |
522 WizardController::kAutoEnrollmentCheckScreenName); | 522 WizardController::kAutoEnrollmentCheckScreenName); |
523 } | 523 } |
524 | 524 |
525 linked_ptr<MockNetworkScreen> mock_network_screen_; | 525 linked_ptr<MockNetworkScreen> mock_network_screen_; |
526 MockOutShowHide<MockUpdateScreen, MockUpdateView>* mock_update_screen_; | 526 MockOutShowHide<MockUpdateScreen, MockUpdateView>* mock_update_screen_; |
527 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; | 527 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; |
528 MockOutShowHide<MockEnrollmentScreen, | 528 MockOutShowHide<MockEnrollmentScreen, |
529 MockEnrollmentScreenActor>* mock_enrollment_screen_; | 529 MockEnrollmentScreenActor>* mock_enrollment_screen_; |
530 MockOutShowHide<MockAutoEnrollmentCheckScreen, | 530 MockOutShowHide<MockAutoEnrollmentCheckScreen, |
531 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; | 531 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; |
532 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenActor>* | 532 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenActor>* |
533 mock_wrong_hwid_screen_; | 533 mock_wrong_hwid_screen_; |
534 MockOutShowHide<MockEnableDebuggingScreen, | 534 MockOutShowHide<MockEnableDebuggingScreen, |
535 MockEnableDebuggingScreenActor>* mock_enable_debugging_screen_; | 535 MockEnableDebuggingScreenActor>* mock_enable_debugging_screen_; |
536 scoped_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_; | 536 std::unique_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_; |
537 | 537 |
538 private: | 538 private: |
539 NetworkPortalDetectorTestImpl* network_portal_detector_; | 539 NetworkPortalDetectorTestImpl* network_portal_detector_; |
540 | 540 |
541 // Use a test factory as a fallback so we don't have to deal with other | 541 // Use a test factory as a fallback so we don't have to deal with other |
542 // requests. | 542 // requests. |
543 scoped_ptr<WizardControllerTestURLFetcherFactory> fallback_fetcher_factory_; | 543 std::unique_ptr<WizardControllerTestURLFetcherFactory> |
544 scoped_ptr<net::FakeURLFetcherFactory> fetcher_factory_; | 544 fallback_fetcher_factory_; |
| 545 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_; |
545 | 546 |
546 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); | 547 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); |
547 }; | 548 }; |
548 | 549 |
549 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { | 550 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { |
550 CheckCurrentScreen(WizardController::kNetworkScreenName); | 551 CheckCurrentScreen(WizardController::kNetworkScreenName); |
551 | 552 |
552 WaitUntilJSIsReady(); | 553 WaitUntilJSIsReady(); |
553 | 554 |
554 // Check visibility of the header bar. | 555 // Check visibility of the header bar. |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 : fake_session_manager_client_(NULL) { | 897 : fake_session_manager_client_(NULL) { |
897 } | 898 } |
898 | 899 |
899 ~WizardControllerBrokenLocalStateTest() override {} | 900 ~WizardControllerBrokenLocalStateTest() override {} |
900 | 901 |
901 void SetUpInProcessBrowserTestFixture() override { | 902 void SetUpInProcessBrowserTestFixture() override { |
902 WizardControllerTest::SetUpInProcessBrowserTestFixture(); | 903 WizardControllerTest::SetUpInProcessBrowserTestFixture(); |
903 | 904 |
904 fake_session_manager_client_ = new FakeSessionManagerClient; | 905 fake_session_manager_client_ = new FakeSessionManagerClient; |
905 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( | 906 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( |
906 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); | 907 std::unique_ptr<SessionManagerClient>(fake_session_manager_client_)); |
907 } | 908 } |
908 | 909 |
909 void SetUpOnMainThread() override { | 910 void SetUpOnMainThread() override { |
910 PrefServiceFactory factory; | 911 PrefServiceFactory factory; |
911 factory.set_user_prefs(make_scoped_refptr(new PrefStoreStub())); | 912 factory.set_user_prefs(make_scoped_refptr(new PrefStoreStub())); |
912 local_state_ = factory.Create(new PrefRegistrySimple()); | 913 local_state_ = factory.Create(new PrefRegistrySimple()); |
913 WizardController::set_local_state_for_testing(local_state_.get()); | 914 WizardController::set_local_state_for_testing(local_state_.get()); |
914 | 915 |
915 WizardControllerTest::SetUpOnMainThread(); | 916 WizardControllerTest::SetUpOnMainThread(); |
916 | 917 |
917 // Make sure that OOBE is run as an "official" build. | 918 // Make sure that OOBE is run as an "official" build. |
918 WizardController::default_controller()->is_official_build_ = true; | 919 WizardController::default_controller()->is_official_build_ = true; |
919 } | 920 } |
920 | 921 |
921 FakeSessionManagerClient* fake_session_manager_client() const { | 922 FakeSessionManagerClient* fake_session_manager_client() const { |
922 return fake_session_manager_client_; | 923 return fake_session_manager_client_; |
923 } | 924 } |
924 | 925 |
925 private: | 926 private: |
926 scoped_ptr<PrefService> local_state_; | 927 std::unique_ptr<PrefService> local_state_; |
927 FakeSessionManagerClient* fake_session_manager_client_; | 928 FakeSessionManagerClient* fake_session_manager_client_; |
928 | 929 |
929 DISALLOW_COPY_AND_ASSIGN(WizardControllerBrokenLocalStateTest); | 930 DISALLOW_COPY_AND_ASSIGN(WizardControllerBrokenLocalStateTest); |
930 }; | 931 }; |
931 | 932 |
932 IN_PROC_BROWSER_TEST_F(WizardControllerBrokenLocalStateTest, | 933 IN_PROC_BROWSER_TEST_F(WizardControllerBrokenLocalStateTest, |
933 LocalStateCorrupted) { | 934 LocalStateCorrupted) { |
934 // Checks that after wizard controller initialization error screen | 935 // Checks that after wizard controller initialization error screen |
935 // in the proper state is displayed. | 936 // in the proper state is displayed. |
936 ASSERT_EQ(GetErrorScreen(), | 937 ASSERT_EQ(GetErrorScreen(), |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1220 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when | 1221 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when |
1221 // UI and logic is ready. http://crbug.com/127016 | 1222 // UI and logic is ready. http://crbug.com/127016 |
1222 | 1223 |
1223 // TODO(dzhioev): Add tests for controller/host pairing flow. | 1224 // TODO(dzhioev): Add tests for controller/host pairing flow. |
1224 // http://crbug.com/375191 | 1225 // http://crbug.com/375191 |
1225 | 1226 |
1226 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 23, | 1227 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 23, |
1227 "tests for new control flow are missing"); | 1228 "tests for new control flow are missing"); |
1228 | 1229 |
1229 } // namespace chromeos | 1230 } // namespace chromeos |
OLD | NEW |