| 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) {
|
|
|