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

Unified Diff: components/autofill/core/browser/contact_info_unittest.cc

Issue 310463005: Fill in more name fields with requestAutocomplete (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: dumb test is dumb Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/contact_info_unittest.cc
diff --git a/components/autofill/core/browser/contact_info_unittest.cc b/components/autofill/core/browser/contact_info_unittest.cc
index e95d0872ebcdc0e956cdab4418b0ba82e6b9a5cf..66e424c93271944dbe6ab49862df7c15b77ae5df 100644
--- a/components/autofill/core/browser/contact_info_unittest.cc
+++ b/components/autofill/core/browser/contact_info_unittest.cc
@@ -17,34 +17,51 @@ using base::ASCIIToUTF16;
namespace autofill {
-TEST(NameInfoTest, SetFullName) {
- NameInfo name;
- name.SetRawInfo(NAME_FULL, ASCIIToUTF16("Virgil"));
- EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Virgil"));
- EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16());
- EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16());
- EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Virgil"));
+struct FullNameTestCase {
+ std::string full_name_input;
+ std::string given_name_output;
+ std::string middle_name_output;
+ std::string family_name_output;
+} full_name_test_cases[] = {
+ { "", "", "", "" },
+ { "John Smith", "John", "", "Smith" },
+ { "Julien van der Poel", "Julien", "", "van der Poel" },
+ { "John J Johnson", "John", "J", "Johnson" },
+ { "John Smith, Jr.", "John", "", "Smith" },
+ { "Mr John Smith", "John", "", "Smith" },
+ { "Mr. John Smith", "John", "", "Smith" },
+ { "Mr. John Smith, M.D.", "John", "", "Smith" },
+ { "Mr. John Smith, MD", "John", "", "Smith" },
+ { "Mr. John Smith MD", "John", "", "Smith" },
+ { "William Hubert J.R.", "William", "Hubert", "J.R." },
+ { "John Ma", "John", "", "Ma" },
+ { "John Smith, MA", "John", "", "Smith" },
+ { "John Jacob Jingleheimer Smith", "John Jacob", "Jingleheimer", "Smith" },
+ { "Virgil", "Virgil", "", "" },
+ { "Murray Gell-Mann", "Murray", "", "Gell-Mann" },
+ { "Mikhail Yevgrafovich Saltykov-Shchedrin", "Mikhail", "Yevgrafovich",
+ "Saltykov-Shchedrin" },
+ { "Arthur Ignatius Conan Doyle", "Arthur Ignatius", "Conan", "Doyle" },
+};
- name.SetRawInfo(NAME_FULL, ASCIIToUTF16("Murray Gell-Mann"));
- EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Murray"));
- EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16());
- EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Gell-Mann"));
- EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Murray Gell-Mann"));
-
- name.SetRawInfo(NAME_FULL,
- ASCIIToUTF16("Mikhail Yevgrafovich Saltykov-Shchedrin"));
- EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Mikhail"));
- EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Yevgrafovich"));
- EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Saltykov-Shchedrin"));
- EXPECT_EQ(name.GetRawInfo(NAME_FULL),
- ASCIIToUTF16("Mikhail Yevgrafovich Saltykov-Shchedrin"));
-
- name.SetRawInfo(NAME_FULL, ASCIIToUTF16("Arthur Ignatius Conan Doyle"));
- EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Arthur"));
- EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Ignatius Conan"));
- EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Doyle"));
- EXPECT_EQ(name.GetRawInfo(NAME_FULL),
- ASCIIToUTF16("Arthur Ignatius Conan Doyle"));
+TEST(NameInfoTest, SetFullName) {
+ for (size_t i = 0; i < arraysize(full_name_test_cases); ++i) {
+ const FullNameTestCase& test_case = full_name_test_cases[i];
+ SCOPED_TRACE(test_case.full_name_input);
+
+ NameInfo name;
+ name.SetInfo(AutofillType(NAME_FULL),
+ ASCIIToUTF16(test_case.full_name_input),
+ "en-US");
+ EXPECT_EQ(ASCIIToUTF16(test_case.given_name_output),
+ name.GetInfo(AutofillType(NAME_FIRST), "en-US"));
+ EXPECT_EQ(ASCIIToUTF16(test_case.middle_name_output),
+ name.GetInfo(AutofillType(NAME_MIDDLE), "en-US"));
+ EXPECT_EQ(ASCIIToUTF16(test_case.family_name_output),
+ name.GetInfo(AutofillType(NAME_LAST), "en-US"));
+ EXPECT_EQ(ASCIIToUTF16(test_case.full_name_input),
+ name.GetInfo(AutofillType(NAME_FULL), "en-US"));
+ }
}
TEST(NameInfoTest, GetFullName) {
@@ -104,6 +121,25 @@ TEST(NameInfoTest, GetFullName) {
EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last"));
+
+ name.SetRawInfo(NAME_FULL, ASCIIToUTF16("First Middle Last, MD"));
+ EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First"));
+ EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
+ EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
+ EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD"));
+
+ name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First"));
+ EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First"));
+ EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
+ EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
+ EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD"));
+
+ // Changing something (e.g., the first name) clears the stored full name.
+ name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Second"));
+ EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Second"));
+ EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
+ EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
+ EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Second Middle Last"));
}
TEST(NameInfoTest, EqualsIgnoreCase) {

Powered by Google App Engine
This is Rietveld 408576698