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

Unified Diff: chrome/browser/chromeos/login/wizard_controller_browsertest.cc

Issue 539273002: Added UI to enable debugging features on CrOS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/browser/prefs/browser_prefs.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/browser/prefs/browser_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698