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

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

Issue 275913004: Add a pref to track progress of OOBE and resume if needed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to tot. Created 6 years, 7 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/common/pref_names.h » ('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) 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/prefs/pref_registry_simple.h" 9 #include "base/prefs/pref_registry_simple.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
(...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after
833 EnrollmentScreen* screen = 833 EnrollmentScreen* screen =
834 WizardController::default_controller()->GetEnrollmentScreen(); 834 WizardController::default_controller()->GetEnrollmentScreen();
835 EXPECT_EQ(screen, WizardController::default_controller()->current_screen()); 835 EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
836 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); 836 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK);
837 837
838 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), 838 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(),
839 WizardController::default_controller()->current_screen()); 839 WizardController::default_controller()->current_screen());
840 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 840 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
841 } 841 }
842 842
843 class WizardControllerOobeResumeTest : public WizardControllerTest {
844 protected:
845 WizardControllerOobeResumeTest() {}
846 // Overriden from InProcessBrowserTest:
847 virtual void SetUpOnMainThread() OVERRIDE {
848 WizardControllerTest::SetUpOnMainThread();
849
850 // Make sure that OOBE is run as an "official" build.
851 WizardController::default_controller()->is_official_build_ = true;
852
853 // Clear portal list (as it is by default in OOBE).
854 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList("");
855
856 // Set up the mocks for all screens.
857 MOCK(mock_network_screen_, network_screen_,
858 MockNetworkScreen, MockNetworkScreenActor);
859 MOCK(mock_enrollment_screen_, enrollment_screen_,
860 MockEnrollmentScreen, MockEnrollmentScreenActor);
861 }
862
863 void OnExit(ScreenObserver::ExitCodes exit_code) {
864 WizardController::default_controller()->OnExit(exit_code);
865 }
866
867 std::string GetFirstScreenName() {
868 return WizardController::default_controller()->first_screen_name();
869 }
870
871 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>*
872 mock_network_screen_;
873 MockOutShowHide<MockEnrollmentScreen,
874 MockEnrollmentScreenActor>* mock_enrollment_screen_;
875
876 private:
877 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest);
878 };
879
880 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
881 PRE_ControlFlowResumeInterruptedOobe) {
882 // Switch to the initial screen.
883 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
884 WizardController::default_controller()->AdvanceToScreen(
885 WizardController::kNetworkScreenName);
886 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(),
887 WizardController::default_controller()->current_screen());
888 EXPECT_CALL(*mock_enrollment_screen_->actor(),
889 SetParameters(mock_enrollment_screen_,
890 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL,
891 ""))
892 .Times(1);
893 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
894 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
895
896 WizardController::default_controller()->AdvanceToScreen(
897 WizardController::kEnrollmentScreenName);
898 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(),
899 WizardController::default_controller()->current_screen());
900 }
901
902 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
903 ControlFlowResumeInterruptedOobe) {
904 EXPECT_EQ(WizardController::kEnrollmentScreenName, GetFirstScreenName());
905 }
906
843 // TODO(dzhioev): Add test emaulating device with wrong HWID. 907 // TODO(dzhioev): Add test emaulating device with wrong HWID.
844 908
845 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 909 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571
846 910
847 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when 911 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when
848 // UI and logic is ready. http://crbug.com/127016 912 // UI and logic is ready. http://crbug.com/127016
849 913
850 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 21, 914 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 21,
851 add_tests_for_new_control_flow_you_just_introduced); 915 add_tests_for_new_control_flow_you_just_introduced);
852 916
853 } // namespace chromeos 917 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698