Chromium Code Reviews| Index: chrome/browser/chromeos/login/login_browsertest.cc |
| diff --git a/chrome/browser/chromeos/login/login_browsertest.cc b/chrome/browser/chromeos/login/login_browsertest.cc |
| index c98ee6b2903d0d329d7fca5daa70e020ca077cb7..b93870da01179b6cdabfbe600668b673752e17ec 100644 |
| --- a/chrome/browser/chromeos/login/login_browsertest.cc |
| +++ b/chrome/browser/chromeos/login/login_browsertest.cc |
| @@ -285,6 +285,23 @@ class ActiveDirectoryLoginTest : public LoginManagerTest { |
| js_checker().Evaluate(JSElement(kAdButton) + ".fire('tap')"); |
| } |
| + void SetupActiveDirectoryJSNotifications() { |
| + js_checker().Evaluate( |
| + "var testInvalidateAd = login.GaiaSigninScreen.invalidateAd;" |
| + "login.GaiaSigninScreen.invalidateAd = function(user, errorState) {" |
| + " testInvalidateAd(user, errorState);" |
| + " window.domAutomationController.setAutomationId(0);" |
| + " window.domAutomationController.send('ShowAuthError');" |
| + "}"); |
| + } |
| + void WaitForMessage(const std::string& expected_message) { |
| + content::DOMMessageQueue message_queue; |
|
xiyuan
2017/04/07 15:04:24
ditto
Roman Sorokin (ftl)
2017/04/10 16:09:00
Done.
|
| + std::string message; |
| + do { |
| + ASSERT_TRUE(message_queue.WaitForMessage(&message)); |
| + } while (message != expected_message); |
| + } |
| + |
| protected: |
| // Returns string representing element with id=|element_id| inside Active |
| // Directory login element. |
| @@ -434,6 +451,7 @@ IN_PROC_BROWSER_TEST_F(ActiveDirectoryLoginTest, PRE_LoginErrors) { |
| // Test different UI errors for Active Directory login. |
| IN_PROC_BROWSER_TEST_F(ActiveDirectoryLoginTest, LoginErrors) { |
| + SetupActiveDirectoryJSNotifications(); |
| TestLoginVisible(); |
| TestDomainVisible(); |
| @@ -445,14 +463,21 @@ IN_PROC_BROWSER_TEST_F(ActiveDirectoryLoginTest, LoginErrors) { |
| TestPasswordError(); |
| TestDomainVisible(); |
| - fake_auth_policy_client_->set_auth_error(authpolicy::ERROR_BAD_USER_NAME); |
| SubmitActiveDirectoryCredentials(std::string(kTestActiveDirectoryUser) + "@", |
| kPassword); |
| TestUserError(); |
| TestDomainHidden(); |
| + fake_auth_policy_client_->set_auth_error(authpolicy::ERROR_BAD_USER_NAME); |
| + SubmitActiveDirectoryCredentials( |
| + std::string(kTestActiveDirectoryUser) + "@" + kTestRealm, kPassword); |
| + WaitForMessage("\"ShowAuthError\""); |
| + TestUserError(); |
| + TestDomainVisible(); |
| + |
| fake_auth_policy_client_->set_auth_error(authpolicy::ERROR_BAD_PASSWORD); |
| SubmitActiveDirectoryCredentials(kTestActiveDirectoryUser, kPassword); |
| + WaitForMessage("\"ShowAuthError\""); |
| TestPasswordError(); |
| TestDomainVisible(); |
| } |