Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / wizard_controller_browsertest.cc
index 3a86b02..19c4617 100644 (file)
@@ -24,6 +24,7 @@
 #include "chrome/browser/chromeos/login/mock_authenticator.h"
 #include "chrome/browser/chromeos/login/mock_login_status_consumer.h"
 #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_eula_screen.h"
 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h"
 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h"
@@ -205,6 +206,40 @@ class WizardControllerTest : public WizardInProcessBrowserTest {
         ->GetErrorScreen();
   }
 
+  content::WebContents* GetWebContents() {
+    LoginDisplayHostImpl* host = static_cast<LoginDisplayHostImpl*>(
+        LoginDisplayHostImpl::default_host());
+    if (!host)
+      return NULL;
+    WebUILoginView* webui_login_view = host->GetWebUILoginView();
+    if (!webui_login_view)
+      return NULL;
+    return webui_login_view->GetWebContents();
+  }
+
+  void WaitUntilJSIsReady() {
+    LoginDisplayHostImpl* host = static_cast<LoginDisplayHostImpl*>(
+        LoginDisplayHostImpl::default_host());
+    if (!host)
+      return;
+    chromeos::OobeUI* oobe_ui = host->GetOobeUI();
+    if (!oobe_ui)
+      return;
+    base::RunLoop run_loop;
+    const bool oobe_ui_ready = oobe_ui->IsJSReady(run_loop.QuitClosure());
+    if (!oobe_ui_ready)
+      run_loop.Run();
+  }
+
+  bool JSExecuteBooleanExpression(const std::string& expression) {
+    bool result;
+    EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
+        GetWebContents(),
+        "window.domAutomationController.send(!!(" + expression + "));",
+        &result));
+    return result;
+  }
+
  private:
   DISALLOW_COPY_AND_ASSIGN(WizardControllerTest);
 };
@@ -317,12 +352,22 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) {
   EXPECT_TRUE(ExistingUserController::current_controller() == NULL);
   EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(),
             WizardController::default_controller()->current_screen());
+
+  WaitUntilJSIsReady();
+
+  // Check visibility of the header bar.
+  ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
+
   EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
   EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
   OnExit(ScreenObserver::NETWORK_CONNECTED);
 
   EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(),
             WizardController::default_controller()->current_screen());
+
+  // Header bar should still be visible.
+  ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
+
   EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
   EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
   EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
@@ -480,24 +525,6 @@ IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
   base::MessageLoop::current()->RunUntilIdle();
 }
 
-IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowResetScreen) {
-  EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(),
-            WizardController::default_controller()->current_screen());
-
-  LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext());
-  EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
-  ExistingUserController::current_controller()->OnStartDeviceReset();
-
-  ResetScreen* screen =
-      WizardController::default_controller()->GetResetScreen();
-  EXPECT_EQ(screen, WizardController::default_controller()->current_screen());
-
-  // After reset screen is canceled, it returns to sign-in screen.
-  // And this destroys WizardController.
-  OnExit(ScreenObserver::RESET_CANCELED);
-  EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
-}
-
 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest,
                        ControlFlowWrongHWIDScreenFromLogin) {
   EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(),
@@ -652,39 +679,6 @@ class WizardControllerBrokenLocalStateTest : public WizardControllerTest {
     WizardControllerTest::TearDownInProcessBrowserTestFixture();
   }
 
-  content::WebContents* GetWebContents() {
-    LoginDisplayHostImpl* host = static_cast<LoginDisplayHostImpl*>(
-        LoginDisplayHostImpl::default_host());
-    if (!host)
-      return NULL;
-    WebUILoginView* webui_login_view = host->GetWebUILoginView();
-    if (!webui_login_view)
-      return NULL;
-    return webui_login_view->GetWebContents();
-  }
-
-  void WaitUntilJSIsReady() {
-    LoginDisplayHostImpl* host = static_cast<LoginDisplayHostImpl*>(
-        LoginDisplayHostImpl::default_host());
-    if (!host)
-      return;
-    chromeos::OobeUI* oobe_ui = host->GetOobeUI();
-    if (!oobe_ui)
-      return;
-    base::RunLoop run_loop;
-    const bool oobe_ui_ready = oobe_ui->IsJSReady(run_loop.QuitClosure());
-    if (!oobe_ui_ready)
-      run_loop.Run();
-  }
-
-  bool JSExecuteBooleanExpression(const std::string& expression) {
-    bool result;
-    EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
-        GetWebContents(),
-        "window.domAutomationController.send(!!(" + expression + "));",
-        &result));
-    return result;
-  }
 
   FakeSessionManagerClient* fake_session_manager_client() const {
     return fake_session_manager_client_;
@@ -880,7 +874,10 @@ IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest,
 
 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571
 
-COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 20,
+// TODO(merkulova): Add tests for bluetooth HID detection screen variations when
+// UI and logic is ready. http://crbug.com/127016
+
+COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 21,
                add_tests_for_new_control_flow_you_just_introduced);
 
 }  // namespace chromeos