| Index: chrome/browser/chromeos/login/wizard_controller_browsertest.cc
|
| diff --git a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
|
| index a313e1691188e1a11e03cf367602dd15677656ca..fd3e3888b6f01f66a17206c654f0b3b68d7d3132 100644
|
| --- a/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
|
| +++ b/chrome/browser/chromeos/login/wizard_controller_browsertest.cc
|
| @@ -28,6 +28,7 @@
|
| #include "chrome/browser/chromeos/login/screens/error_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_actor.h"
|
| +#include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/mock_network_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/mock_update_screen.h"
|
| @@ -274,6 +275,12 @@ class WizardControllerTest : public WizardInProcessBrowserTest {
|
| run_loop.Run();
|
| }
|
|
|
| + bool JSExecute(const std::string& expression) {
|
| + return content::ExecuteScript(
|
| + GetWebContents(),
|
| + "window.domAutomationController.send(!!(" + expression + "));");
|
| + }
|
| +
|
| bool JSExecuteBooleanExpression(const std::string& expression) {
|
| bool result;
|
| EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
|
| @@ -432,6 +439,10 @@ class WizardControllerFlowTest : public WizardControllerTest {
|
| MockAutoEnrollmentCheckScreenActor);
|
| MOCK(mock_wrong_hwid_screen_, kWrongHWIDScreenName, MockWrongHWIDScreen,
|
| MockWrongHWIDScreenActor);
|
| + MOCK(mock_enable_debugging_screen_,
|
| + kEnableDebuggingScreenName,
|
| + MockEnableDebuggingScreen,
|
| + MockEnableDebuggingScreenActor);
|
| device_disabled_screen_actor_.reset(new MockDeviceDisabledScreenActor);
|
| wizard_controller->screens_[WizardController::kDeviceDisabledScreenName] =
|
| make_linked_ptr(new DeviceDisabledScreen(
|
| @@ -517,6 +528,8 @@ class WizardControllerFlowTest : public WizardControllerTest {
|
| MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_;
|
| MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenActor>*
|
| mock_wrong_hwid_screen_;
|
| + MockOutShowHide<MockEnableDebuggingScreen,
|
| + MockEnableDebuggingScreenActor>* mock_enable_debugging_screen_;
|
| scoped_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_;
|
|
|
| private:
|
| @@ -1094,7 +1107,6 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
|
| EXPECT_TRUE(StartupUtils::IsOobeCompleted());
|
| }
|
|
|
| -
|
| IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
|
| ControlFlowEnrollmentBack) {
|
| EXPECT_CALL(*mock_enrollment_screen_->actor(),
|
| @@ -1142,6 +1154,48 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
|
| EXPECT_FALSE(StartupUtils::IsOobeCompleted());
|
| }
|
|
|
| +
|
| +class WizardControllerEnableDebuggingTest : public WizardControllerFlowTest {
|
| + protected:
|
| + WizardControllerEnableDebuggingTest() {}
|
| +
|
| + // Overridden from InProcessBrowserTest:
|
| + virtual void SetUpCommandLine(CommandLine* command_line) override {
|
| + WizardControllerFlowTest::SetUpCommandLine(command_line);
|
| + command_line->AppendSwitch(chromeos::switches::kSystemDevMode);
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(WizardControllerEnableDebuggingTest);
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(WizardControllerEnableDebuggingTest,
|
| + ShowAndCancelEnableDebugging) {
|
| + EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
|
| + CheckCurrentScreen(WizardController::kNetworkScreenName);
|
| + WaitUntilJSIsReady();
|
| +
|
| + EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
|
| + EXPECT_CALL(*mock_enable_debugging_screen_, Show()).Times(1);
|
| +
|
| + ASSERT_TRUE(JSExecute("$('connect-debugging-features-link').click()"));
|
| +
|
| + // Let update screen smooth time process (time = 0ms).
|
| + content::RunAllPendingInMessageLoop();
|
| +
|
| + CheckCurrentScreen(WizardController::kEnableDebuggingScreenName);
|
| + EXPECT_CALL(*mock_enable_debugging_screen_, Hide()).Times(1);
|
| + EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
|
| +
|
| + OnExit(*mock_enable_debugging_screen_,
|
| + BaseScreenDelegate::ENABLE_DEBUGGING_CANCELED);
|
| +
|
| + // Let update screen smooth time process (time = 0ms).
|
| + content::RunAllPendingInMessageLoop();
|
| +
|
| + CheckCurrentScreen(WizardController::kNetworkScreenName);
|
| +}
|
| +
|
| class WizardControllerOobeResumeTest : public WizardControllerTest {
|
| protected:
|
| WizardControllerOobeResumeTest() {}
|
| @@ -1218,7 +1272,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest,
|
| // TODO(dzhioev): Add tests for controller/host pairing flow.
|
| // http://crbug.com/375191
|
|
|
| -COMPILE_ASSERT(BaseScreenDelegate::EXIT_CODES_COUNT == 23,
|
| +COMPILE_ASSERT(BaseScreenDelegate::EXIT_CODES_COUNT == 25,
|
| add_tests_for_new_control_flow_you_just_introduced);
|
|
|
| } // namespace chromeos
|
|
|