| Index: chrome/browser/autofill/form_structure_unittest.cc
|
| diff --git a/chrome/browser/autofill/form_structure_unittest.cc b/chrome/browser/autofill/form_structure_unittest.cc
|
| index b2d0435b75b587386da526226cfdfb1c427028e0..14fe5169e3f94cf82c5c4ea5dd3e3a8a9dec77a4 100644
|
| --- a/chrome/browser/autofill/form_structure_unittest.cc
|
| +++ b/chrome/browser/autofill/form_structure_unittest.cc
|
| @@ -421,7 +421,8 @@ TEST(FormStructureTest, HeuristicsSample8) {
|
| // Zip.
|
| EXPECT_EQ(ADDRESS_BILLING_ZIP, form_structure->field(6)->heuristic_type());
|
| // Country.
|
| - EXPECT_EQ(ADDRESS_BILLING_COUNTRY, form_structure->field(7)->heuristic_type());
|
| + EXPECT_EQ(ADDRESS_BILLING_COUNTRY,
|
| + form_structure->field(7)->heuristic_type());
|
| // Phone.
|
| EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER,
|
| form_structure->field(8)->heuristic_type());
|
| @@ -741,6 +742,53 @@ TEST(FormStructureTest, ThreeAddressLines) {
|
| EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(3)->heuristic_type());
|
| }
|
|
|
| +// This test verifies that "addressLine1" and "addressLine2" matches heuristics.
|
| +// This occured in https://www.gorillaclothing.com/. http://crbug.com/52126.
|
| +TEST(FormStructureTest, BillingAndShippingAddresses) {
|
| + scoped_ptr<FormStructure> form_structure;
|
| + FormData form;
|
| +
|
| + form.method = ASCIIToUTF16("post");
|
| + form.fields.push_back(
|
| + webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
|
| + ASCIIToUTF16("shipping.address.addressLine1"),
|
| + string16(),
|
| + ASCIIToUTF16("text"),
|
| + 0));
|
| + form.fields.push_back(
|
| + webkit_glue::FormField(ASCIIToUTF16("Address Line2"),
|
| + ASCIIToUTF16("shipping.address.addressLine2"),
|
| + string16(),
|
| + ASCIIToUTF16("text"),
|
| + 0));
|
| + form.fields.push_back(
|
| + webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
|
| + ASCIIToUTF16("billing.address.addressLine1"),
|
| + string16(),
|
| + ASCIIToUTF16("text"),
|
| + 0));
|
| + form.fields.push_back(
|
| + webkit_glue::FormField(ASCIIToUTF16("Address Line2"),
|
| + ASCIIToUTF16("billing.address.addressLine2"),
|
| + string16(),
|
| + ASCIIToUTF16("text"),
|
| + 0));
|
| + form_structure.reset(new FormStructure(form));
|
| + EXPECT_TRUE(form_structure->IsAutoFillable());
|
| + ASSERT_EQ(4U, form_structure->field_count());
|
| + ASSERT_EQ(4U, form_structure->autofill_count());
|
| +
|
| + // Address Line 1.
|
| + EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type());
|
| + // Address Line 2.
|
| + EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type());
|
| + // Address Line 1.
|
| + EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type());
|
| + // Address Line 2.
|
| + EXPECT_EQ(ADDRESS_BILLING_LINE2, form_structure->field(3)->heuristic_type());
|
| +}
|
| +
|
| +
|
| // This example comes from expedia.com where they use a "Suite" label to
|
| // indicate a suite or apartment number. We interpret this as address line 2.
|
| // And the following "Street address second line" we interpret as address line
|
|
|