Index: chrome/renderer/autofill/password_autofill_agent_browsertest.cc |
diff --git a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc |
index 66529cad25293b47249dabde58cd088f8422040b..6b25796e06fc713d63468d6c7c1686833f03434d 100644 |
--- a/chrome/renderer/autofill/password_autofill_agent_browsertest.cc |
+++ b/chrome/renderer/autofill/password_autofill_agent_browsertest.cc |
@@ -95,6 +95,12 @@ const char kEmptyFormHTML[] = |
"<head> <style> form {display: inline;} </style> </head>" |
"<body> <form> </form> </body>"; |
+const char kFormWithoutPasswordsHTML[] = |
+ "<FORM>" |
+ " <INPUT type='text' id='random_field'/>" |
+ " <INPUT type='text' id='username'/>" |
+ "</FORM>"; |
+ |
const char kNonVisibleFormHTML[] = |
"<head> <style> form {visibility: hidden;} </style> </head>" |
"<body>" |
@@ -857,53 +863,92 @@ TEST_F(PasswordAutofillAgentTest, IsWebElementVisibleTest) { |
EXPECT_FALSE(form_util::IsWebElementVisible(web_control_elements[0])); |
} |
-TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest) { |
- fake_driver_.reset_password_forms_rendered(); |
+TEST_F(PasswordAutofillAgentTest, |
+ SendPasswordFormsTest_VisibleFormWithNoUsername) { |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kVisibleFormWithNoUsernameHTML); |
base::RunLoop().RunUntilIdle(); |
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed()); |
+ ASSERT_TRUE(fake_driver_.password_forms_parsed()); |
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty()); |
EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
- ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered())); |
+ ASSERT_TRUE(fake_driver_.password_forms_rendered()); |
EXPECT_FALSE(fake_driver_.password_forms_rendered()->empty()); |
+} |
- fake_driver_.reset_password_forms_rendered(); |
+TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_EmptyForm) { |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kEmptyFormHTML); |
base::RunLoop().RunUntilIdle(); |
+ EXPECT_FALSE(fake_driver_.called_password_forms_parsed()); |
EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
- ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered())); |
+ ASSERT_TRUE(fake_driver_.password_forms_rendered()); |
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty()); |
+} |
- fake_driver_.reset_password_forms_rendered(); |
+TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_FormWithoutPasswords) { |
+ fake_driver_.reset_password_forms_calls(); |
+ LoadHTML(kFormWithoutPasswordsHTML); |
+ base::RunLoop().RunUntilIdle(); |
+ EXPECT_FALSE(fake_driver_.called_password_forms_parsed()); |
+ EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
+ ASSERT_TRUE(fake_driver_.password_forms_rendered()); |
+ EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty()); |
+} |
+ |
+TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_NonDisplayedForm) { |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kNonDisplayedFormHTML); |
base::RunLoop().RunUntilIdle(); |
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed()); |
+ ASSERT_TRUE(fake_driver_.password_forms_parsed()); |
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty()); |
EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
- ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered())); |
+ ASSERT_TRUE(fake_driver_.password_forms_rendered()); |
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty()); |
+} |
- fake_driver_.reset_password_forms_rendered(); |
+TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_NonVisibleForm) { |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kNonVisibleFormHTML); |
base::RunLoop().RunUntilIdle(); |
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed()); |
+ ASSERT_TRUE(fake_driver_.password_forms_parsed()); |
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty()); |
EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
- ASSERT_TRUE(static_cast<bool>(fake_driver_.password_forms_rendered())); |
+ ASSERT_TRUE(fake_driver_.password_forms_rendered()); |
EXPECT_TRUE(fake_driver_.password_forms_rendered()->empty()); |
} |
+TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_PasswordChangeForm) { |
+ fake_driver_.reset_password_forms_calls(); |
+ LoadHTML(kPasswordChangeFormHTML); |
+ base::RunLoop().RunUntilIdle(); |
+ EXPECT_TRUE(fake_driver_.called_password_forms_parsed()); |
+ ASSERT_TRUE(fake_driver_.password_forms_parsed()); |
+ EXPECT_FALSE(fake_driver_.password_forms_parsed()->empty()); |
+ EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
+ ASSERT_TRUE(fake_driver_.password_forms_rendered()); |
+ EXPECT_FALSE(fake_driver_.password_forms_rendered()->empty()); |
+} |
+ |
TEST_F(PasswordAutofillAgentTest, SendPasswordFormsTest_Redirection) { |
- fake_driver_.reset_password_forms_rendered(); |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kEmptyWebpage); |
base::RunLoop().RunUntilIdle(); |
EXPECT_FALSE(fake_driver_.called_password_forms_rendered()); |
- fake_driver_.reset_password_forms_rendered(); |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kRedirectionWebpage); |
base::RunLoop().RunUntilIdle(); |
EXPECT_FALSE(fake_driver_.called_password_forms_rendered()); |
- fake_driver_.reset_password_forms_rendered(); |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kSimpleWebpage); |
base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |
- fake_driver_.reset_password_forms_rendered(); |
+ fake_driver_.reset_password_forms_calls(); |
LoadHTML(kWebpageWithDynamicContent); |
base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(fake_driver_.called_password_forms_rendered()); |