Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: components/autofill/content/renderer/password_form_conversion_utils_browsertest.cc

Issue 1645493002: [Password Manager] Enables processing invisible username fields even if visible password field was … (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/autofill/content/renderer/password_form_conversion_utils.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 EXPECT_EQ(base::UTF8ToUTF16("username"), 698 EXPECT_EQ(base::UTF8ToUTF16("username"),
699 password_form->username_element); 699 password_form->username_element);
700 EXPECT_EQ(base::UTF8ToUTF16("William"), 700 EXPECT_EQ(base::UTF8ToUTF16("William"),
701 password_form->username_value); 701 password_form->username_value);
702 EXPECT_EQ(base::UTF8ToUTF16("password"), 702 EXPECT_EQ(base::UTF8ToUTF16("password"),
703 password_form->password_element); 703 password_form->password_element);
704 EXPECT_EQ(base::UTF8ToUTF16("secret"), 704 EXPECT_EQ(base::UTF8ToUTF16("secret"),
705 password_form->password_value); 705 password_form->password_value);
706 } 706 }
707 707
708 TEST_F(MAYBE_PasswordFormConversionUtilsTest,
709 VisiblePasswordAndInvisibleUsername) {
710 PasswordFormBuilder builder(kTestFormActionURL);
711
712 builder.AddNonDisplayedTextField("username", "William");
713 builder.AddPasswordField("password", "secret", NULL);
714 builder.AddSubmitButton("submit");
715 std::string html = builder.ProduceHTML();
716
717 scoped_ptr<PasswordForm> password_form;
718 ASSERT_NO_FATAL_FAILURE(
719 LoadHTMLAndConvertForm(html, &password_form, nullptr));
720 ASSERT_TRUE(password_form);
721 EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
722 EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
723 EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
724 EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
725 }
726
727 TEST_F(MAYBE_PasswordFormConversionUtilsTest,
728 InvisiblePassword_LatestUsernameIsVisible) {
729 PasswordFormBuilder builder(kTestFormActionURL);
730
731 builder.AddNonDisplayedTextField("search", "query");
732 builder.AddTextField("username", "William", NULL);
733 builder.AddNonDisplayedPasswordField("password", "secret");
734 builder.AddSubmitButton("submit");
735 std::string html = builder.ProduceHTML();
736
737 scoped_ptr<PasswordForm> password_form;
738 ASSERT_NO_FATAL_FAILURE(
739 LoadHTMLAndConvertForm(html, &password_form, nullptr));
740 ASSERT_TRUE(password_form);
741 EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
742 EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
743 EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
744 EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
745 }
746
747 TEST_F(MAYBE_PasswordFormConversionUtilsTest,
748 InvisiblePassword_LatestUsernameIsInvisible) {
749 PasswordFormBuilder builder(kTestFormActionURL);
750
751 builder.AddTextField("search", "query", NULL);
752 builder.AddNonDisplayedTextField("username", "William");
753 builder.AddNonDisplayedPasswordField("password", "secret");
754 builder.AddSubmitButton("submit");
755 std::string html = builder.ProduceHTML();
756
757 scoped_ptr<PasswordForm> password_form;
758 ASSERT_NO_FATAL_FAILURE(
759 LoadHTMLAndConvertForm(html, &password_form, nullptr));
760 ASSERT_TRUE(password_form);
761 EXPECT_EQ(base::UTF8ToUTF16("username"), password_form->username_element);
762 EXPECT_EQ(base::UTF8ToUTF16("William"), password_form->username_value);
763 EXPECT_EQ(base::UTF8ToUTF16("password"), password_form->password_element);
764 EXPECT_EQ(base::UTF8ToUTF16("secret"), password_form->password_value);
765 }
766
708 TEST_F(MAYBE_PasswordFormConversionUtilsTest, InvalidFormDueToBadActionURL) { 767 TEST_F(MAYBE_PasswordFormConversionUtilsTest, InvalidFormDueToBadActionURL) {
709 PasswordFormBuilder builder("invalid_target"); 768 PasswordFormBuilder builder("invalid_target");
710 builder.AddTextField("username", "JohnSmith", NULL); 769 builder.AddTextField("username", "JohnSmith", NULL);
711 builder.AddSubmitButton("submit"); 770 builder.AddSubmitButton("submit");
712 builder.AddPasswordField("password", "secret", NULL); 771 builder.AddPasswordField("password", "secret", NULL);
713 std::string html = builder.ProduceHTML(); 772 std::string html = builder.ProduceHTML();
714 773
715 scoped_ptr<PasswordForm> password_form; 774 scoped_ptr<PasswordForm> password_form;
716 ASSERT_NO_FATAL_FAILURE( 775 ASSERT_NO_FATAL_FAILURE(
717 LoadHTMLAndConvertForm(html, &password_form, nullptr)); 776 LoadHTMLAndConvertForm(html, &password_form, nullptr));
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1123 EXPECT_EQ(base::UTF8ToUTF16(test_cases[i].expected_username_element), 1182 EXPECT_EQ(base::UTF8ToUTF16(test_cases[i].expected_username_element),
1124 password_form->username_element); 1183 password_form->username_element);
1125 EXPECT_EQ(base::UTF8ToUTF16(test_cases[i].expected_password_element), 1184 EXPECT_EQ(base::UTF8ToUTF16(test_cases[i].expected_password_element),
1126 password_form->password_element); 1185 password_form->password_element);
1127 EXPECT_EQ(base::UTF8ToUTF16(test_cases[i].expected_new_password_element), 1186 EXPECT_EQ(base::UTF8ToUTF16(test_cases[i].expected_new_password_element),
1128 password_form->new_password_element); 1187 password_form->new_password_element);
1129 } 1188 }
1130 } 1189 }
1131 1190
1132 } // namespace autofill 1191 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/content/renderer/password_form_conversion_utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698