| Index: components/autofill/core/browser/address_unittest.cc
|
| diff --git a/components/autofill/core/browser/address_unittest.cc b/components/autofill/core/browser/address_unittest.cc
|
| index a9a25cf0e44cef18e846a8ed2ccf94cc93c3c7a4..df64676e0828f442a24516c668eaa5d3082266be 100644
|
| --- a/components/autofill/core/browser/address_unittest.cc
|
| +++ b/components/autofill/core/browser/address_unittest.cc
|
| @@ -159,12 +159,14 @@ TEST(AddressTest, GetStreetAddress) {
|
| Address address;
|
| EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
| EXPECT_EQ(base::string16(), address.GetInfo(type, "en-US"));
|
|
|
| // Address has only line 1.
|
| address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave."));
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
| EXPECT_EQ(ASCIIToUTF16("123 Example Ave."), address.GetInfo(type, "en-US"));
|
|
|
| // Address has only line 2.
|
| @@ -172,6 +174,7 @@ TEST(AddressTest, GetStreetAddress) {
|
| address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt 42."));
|
| EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
| EXPECT_EQ(ASCIIToUTF16("\nApt 42."), address.GetInfo(type, "en-US"));
|
|
|
| // Address has lines 1 and 2.
|
| @@ -179,12 +182,32 @@ TEST(AddressTest, GetStreetAddress) {
|
| address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42"));
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
| EXPECT_EQ(ASCIIToUTF16("123 Example Ave.\n"
|
| "Apt. 42"),
|
| address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS));
|
| EXPECT_EQ(ASCIIToUTF16("123 Example Ave.\n"
|
| "Apt. 42"),
|
| address.GetInfo(type, "en-US"));
|
| +
|
| + // A wild third line appears.
|
| + address.SetRawInfo(ADDRESS_HOME_LINE3, ASCIIToUTF16("Living room couch"));
|
| + EXPECT_EQ(ASCIIToUTF16("Living room couch"),
|
| + address.GetRawInfo(ADDRESS_HOME_LINE3));
|
| + EXPECT_EQ(ASCIIToUTF16("123 Example Ave.\n"
|
| + "Apt. 42\n"
|
| + "Living room couch"),
|
| + address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS));
|
| +
|
| + // The second line vanishes.
|
| + address.SetRawInfo(ADDRESS_HOME_LINE2, base::string16());
|
| + EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| + EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
| + EXPECT_EQ(ASCIIToUTF16("123 Example Ave.\n"
|
| + "\n"
|
| + "Living room couch"),
|
| + address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS));
|
| }
|
|
|
| // Verifies that overwriting an address with N lines with one that has fewer
|
| @@ -248,15 +271,18 @@ TEST(AddressTest, SetStreetAddress) {
|
| ASCIIToUTF16("456 New St., Apt. 17");
|
| const base::string16 multi_line_street_address =
|
| ASCIIToUTF16("789 Fancy Pkwy.\n"
|
| - "Unit 3.14");
|
| + "Unit 3.14\n"
|
| + "Box 9");
|
| const AutofillType type = AutofillType(ADDRESS_HOME_STREET_ADDRESS);
|
|
|
| // Start with a non-empty address.
|
| Address address;
|
| address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave."));
|
| address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42"));
|
| + address.SetRawInfo(ADDRESS_HOME_LINE3, ASCIIToUTF16("and a half"));
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
|
|
| // Attempting to set a one-line address should fail, as the single line might
|
| // actually represent multiple logical lines, combined into one due to the
|
| @@ -264,20 +290,24 @@ TEST(AddressTest, SetStreetAddress) {
|
| EXPECT_FALSE(address.SetInfo(type, one_line_street_address, "en-US"));
|
| EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1));
|
| EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2));
|
| + EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE3));
|
|
|
| // Attempting to set a multi-line address should succeed.
|
| EXPECT_TRUE(address.SetInfo(type, multi_line_street_address, "en-US"));
|
| EXPECT_EQ(ASCIIToUTF16("789 Fancy Pkwy."),
|
| address.GetRawInfo(ADDRESS_HOME_LINE1));
|
| EXPECT_EQ(ASCIIToUTF16("Unit 3.14"), address.GetRawInfo(ADDRESS_HOME_LINE2));
|
| + EXPECT_EQ(ASCIIToUTF16("Box 9"), address.GetRawInfo(ADDRESS_HOME_LINE3));
|
|
|
| // Attempting to set an empty address should also succeed, and clear out the
|
| // previously stored data.
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty());
|
| EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty());
|
| + EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty());
|
| EXPECT_TRUE(address.SetInfo(type, empty_street_address, "en-US"));
|
| EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1));
|
| EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2));
|
| + EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE3));
|
| }
|
|
|
| // Verifies that Address::SetInfio() rejects setting data for
|
|
|