| Index: components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
|
| diff --git a/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc b/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
|
| index 05dc714e3f7b9bc34acfd9744425d81c55056929..dfaa827c6bf12aa411ce2a8fbf52607907320f12 100644
|
| --- a/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
|
| +++ b/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
|
| @@ -80,6 +80,9 @@ class PasswordFormBuilder {
|
| html_ += "<INPUT type=\"password\" disabled/>";
|
| }
|
|
|
| + // Appends a hidden field at the end of the form.
|
| + void AddHiddenField() { html_ += "<INPUT type=\"hidden\"/>"; }
|
| +
|
| // Appends a new submit-type field at the end of the form with the specified
|
| // |name|. If |activated| is true, the test will emulate as if this button
|
| // were used to submit the form.
|
| @@ -592,4 +595,71 @@ TEST_F(PasswordFormConversionUtilsTest,
|
| EXPECT_FALSE(password_form);
|
| }
|
|
|
| +TEST_F(PasswordFormConversionUtilsTest, LayoutClassificationLogin) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| + builder.AddHiddenField();
|
| + builder.AddUsernameField("username", "", nullptr);
|
| + builder.AddPasswordField("password", "", nullptr);
|
| + builder.AddSubmitButton("submit", false);
|
| + std::string login_html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> login_form;
|
| + ASSERT_NO_FATAL_FAILURE(LoadHTMLAndConvertForm(login_html, &login_form));
|
| + ASSERT_TRUE(login_form);
|
| + EXPECT_EQ(PasswordForm::Layout::LAYOUT_OTHER, login_form->layout);
|
| +}
|
| +
|
| +TEST_F(PasswordFormConversionUtilsTest, LayoutClassificationSignup) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| + builder.AddUsernameField("someotherfield", "", nullptr);
|
| + builder.AddUsernameField("username", "", nullptr);
|
| + builder.AddPasswordField("new_password", "", nullptr);
|
| + builder.AddHiddenField();
|
| + builder.AddPasswordField("new_password2", "", nullptr);
|
| + builder.AddSubmitButton("submit", false);
|
| + std::string signup_html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> signup_form;
|
| + ASSERT_NO_FATAL_FAILURE(LoadHTMLAndConvertForm(signup_html, &signup_form));
|
| + ASSERT_TRUE(signup_form);
|
| + EXPECT_EQ(PasswordForm::Layout::LAYOUT_OTHER, signup_form->layout);
|
| +}
|
| +
|
| +TEST_F(PasswordFormConversionUtilsTest, LayoutClassificationChange) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| + builder.AddUsernameField("username", "", nullptr);
|
| + builder.AddPasswordField("old_password", "", nullptr);
|
| + builder.AddHiddenField();
|
| + builder.AddPasswordField("new_password", "", nullptr);
|
| + builder.AddPasswordField("new_password2", "", nullptr);
|
| + builder.AddSubmitButton("submit", false);
|
| + std::string change_html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> change_form;
|
| + ASSERT_NO_FATAL_FAILURE(LoadHTMLAndConvertForm(change_html, &change_form));
|
| + ASSERT_TRUE(change_form);
|
| + EXPECT_EQ(PasswordForm::Layout::LAYOUT_OTHER, change_form->layout);
|
| +}
|
| +
|
| +TEST_F(PasswordFormConversionUtilsTest, LayoutClassificationLoginPlusSignup) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| + builder.AddUsernameField("username", "", nullptr);
|
| + builder.AddHiddenField();
|
| + builder.AddPasswordField("password", "", nullptr);
|
| + builder.AddUsernameField("username2", "", nullptr);
|
| + builder.AddUsernameField("someotherfield", "", nullptr);
|
| + builder.AddPasswordField("new_password", "", nullptr);
|
| + builder.AddPasswordField("new_password2", "", nullptr);
|
| + builder.AddHiddenField();
|
| + builder.AddSubmitButton("submit", false);
|
| + std::string login_plus_signup_html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> login_plus_signup_form;
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + LoadHTMLAndConvertForm(login_plus_signup_html, &login_plus_signup_form));
|
| + ASSERT_TRUE(login_plus_signup_form);
|
| + EXPECT_EQ(PasswordForm::Layout::LAYOUT_LOGIN_AND_SIGNUP,
|
| + login_plus_signup_form->layout);
|
| +}
|
| +
|
| } // namespace autofill
|
|
|