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/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 852 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
863 EnrollmentScreen* screen = | 863 EnrollmentScreen* screen = |
864 WizardController::default_controller()->GetEnrollmentScreen(); | 864 WizardController::default_controller()->GetEnrollmentScreen(); |
865 EXPECT_EQ(screen, WizardController::default_controller()->current_screen()); | 865 EXPECT_EQ(screen, WizardController::default_controller()->current_screen()); |
866 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); | 866 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); |
867 | 867 |
868 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), | 868 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
869 WizardController::default_controller()->current_screen()); | 869 WizardController::default_controller()->current_screen()); |
870 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 870 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
871 } | 871 } |
872 | 872 |
| 873 class WizardControllerOobeResumeTest : public WizardControllerTest { |
| 874 protected: |
| 875 WizardControllerOobeResumeTest() {} |
| 876 // Overriden from InProcessBrowserTest: |
| 877 virtual void SetUpOnMainThread() OVERRIDE { |
| 878 WizardControllerTest::SetUpOnMainThread(); |
| 879 |
| 880 // Make sure that OOBE is run as an "official" build. |
| 881 WizardController::default_controller()->is_official_build_ = true; |
| 882 |
| 883 // Clear portal list (as it is by default in OOBE). |
| 884 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); |
| 885 |
| 886 // Set up the mocks for all screens. |
| 887 MOCK(mock_network_screen_, network_screen_, |
| 888 MockNetworkScreen, MockNetworkScreenActor); |
| 889 MOCK(mock_enrollment_screen_, enrollment_screen_, |
| 890 MockEnrollmentScreen, MockEnrollmentScreenActor); |
| 891 } |
| 892 |
| 893 void OnExit(ScreenObserver::ExitCodes exit_code) { |
| 894 WizardController::default_controller()->OnExit(exit_code); |
| 895 } |
| 896 |
| 897 std::string GetFirstScreenName() { |
| 898 return WizardController::default_controller()->first_screen_name(); |
| 899 } |
| 900 |
| 901 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* |
| 902 mock_network_screen_; |
| 903 MockOutShowHide<MockEnrollmentScreen, |
| 904 MockEnrollmentScreenActor>* mock_enrollment_screen_; |
| 905 |
| 906 private: |
| 907 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest); |
| 908 }; |
| 909 |
| 910 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, |
| 911 PRE_ControlFlowResumeInterruptedOobe) { |
| 912 // Switch to the initial screen. |
| 913 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
| 914 WizardController::default_controller()->AdvanceToScreen( |
| 915 WizardController::kNetworkScreenName); |
| 916 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
| 917 WizardController::default_controller()->current_screen()); |
| 918 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 919 SetParameters(mock_enrollment_screen_, |
| 920 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, |
| 921 "")) |
| 922 .Times(1); |
| 923 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 924 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 925 |
| 926 WizardController::default_controller()->AdvanceToScreen( |
| 927 WizardController::kEnrollmentScreenName); |
| 928 EXPECT_EQ(WizardController::default_controller()->GetEnrollmentScreen(), |
| 929 WizardController::default_controller()->current_screen()); |
| 930 } |
| 931 |
| 932 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, |
| 933 ControlFlowResumeInterruptedOobe) { |
| 934 EXPECT_EQ(WizardController::kEnrollmentScreenName, GetFirstScreenName()); |
| 935 } |
| 936 |
873 // TODO(dzhioev): Add test emaulating device with wrong HWID. | 937 // TODO(dzhioev): Add test emaulating device with wrong HWID. |
874 | 938 |
875 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 | 939 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 |
876 | 940 |
877 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when | 941 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when |
878 // UI and logic is ready. http://crbug.com/127016 | 942 // UI and logic is ready. http://crbug.com/127016 |
879 | 943 |
880 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 21, | 944 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 21, |
881 add_tests_for_new_control_flow_you_just_introduced); | 945 add_tests_for_new_control_flow_you_just_introduced); |
882 | 946 |
883 } // namespace chromeos | 947 } // namespace chromeos |
OLD | NEW |