| 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 3b08dbcf4db100934cd7f7e2f6d983216fb221f2..1db126c7285b0d4513c94838e6797fd0e113013c 100644
|
| --- a/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
|
| +++ b/components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc
|
| @@ -705,6 +705,65 @@ TEST_F(MAYBE_PasswordFormConversionUtilsTest, OnlyNonDisplayedLoginPair) {
|
| password_form->password_value);
|
| }
|
|
|
| +TEST_F(MAYBE_PasswordFormConversionUtilsTest,
|
| + VisiblePasswordAndInvisibleUsername) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| +
|
| + builder.AddNonDisplayedTextField("username", "William");
|
| + builder.AddPasswordField("password", "secret", NULL);
|
| + builder.AddSubmitButton("submit");
|
| + std::string html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> password_form;
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + LoadHTMLAndConvertForm(html, &password_form, nullptr));
|
| + ASSERT_TRUE(password_form);
|
| + EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
|
| + EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
|
| + EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
|
| + EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
|
| +}
|
| +
|
| +TEST_F(MAYBE_PasswordFormConversionUtilsTest,
|
| + InvisiblePassword_LatestUsernameIsVisible) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| +
|
| + builder.AddNonDisplayedTextField("search", "query");
|
| + builder.AddTextField("username", "William", NULL);
|
| + builder.AddNonDisplayedPasswordField("password", "secret");
|
| + builder.AddSubmitButton("submit");
|
| + std::string html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> password_form;
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + LoadHTMLAndConvertForm(html, &password_form, nullptr));
|
| + ASSERT_TRUE(password_form);
|
| + EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
|
| + EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
|
| + EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
|
| + EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
|
| +}
|
| +
|
| +TEST_F(MAYBE_PasswordFormConversionUtilsTest,
|
| + InvisiblePassword_LatestUsernameIsInvisible) {
|
| + PasswordFormBuilder builder(kTestFormActionURL);
|
| +
|
| + builder.AddTextField("search", "query", NULL);
|
| + builder.AddNonDisplayedTextField("username", "William");
|
| + builder.AddNonDisplayedPasswordField("password", "secret");
|
| + builder.AddSubmitButton("submit");
|
| + std::string html = builder.ProduceHTML();
|
| +
|
| + scoped_ptr<PasswordForm> password_form;
|
| + ASSERT_NO_FATAL_FAILURE(
|
| + LoadHTMLAndConvertForm(html, &password_form, nullptr));
|
| + ASSERT_TRUE(password_form);
|
| + EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
|
| + EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
|
| + EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
|
| + EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
|
| +}
|
| +
|
| TEST_F(MAYBE_PasswordFormConversionUtilsTest, InvalidFormDueToBadActionURL) {
|
| PasswordFormBuilder builder("invalid_target");
|
| builder.AddTextField("username", "JohnSmith", NULL);
|
|
|