| Index: components/autofill/browser/form_structure_unittest.cc
|
| diff --git a/components/autofill/browser/form_structure_unittest.cc b/components/autofill/browser/form_structure_unittest.cc
|
| index 8691e8268b6094fa39f8e85a10cb868cba5a2ce5..b21f434ea566b0353f139285bf0f4a1aa049a9cc 100644
|
| --- a/components/autofill/browser/form_structure_unittest.cc
|
| +++ b/components/autofill/browser/form_structure_unittest.cc
|
| @@ -1137,6 +1137,45 @@ TEST(FormStructureTest, BillingAndShippingAddresses) {
|
| EXPECT_EQ(ADDRESS_BILLING_LINE2, form_structure->field(3)->heuristic_type());
|
| }
|
|
|
| +// Numbered address lines after line two are ignored.
|
| +TEST(FormStructureTest, SurplusAddressLinesIgnored) {
|
| + scoped_ptr<FormStructure> form_structure;
|
| + FormData form;
|
| + form.method = ASCIIToUTF16("post");
|
| +
|
| + FormFieldData field;
|
| + field.form_control_type = "text";
|
| +
|
| + field.label = ASCIIToUTF16("Address Line1");
|
| + field.name = ASCIIToUTF16("shipping.address.addressLine1");
|
| + form.fields.push_back(field);
|
| +
|
| + field.label = ASCIIToUTF16("Address Line2");
|
| + field.name = ASCIIToUTF16("shipping.address.addressLine2");
|
| + form.fields.push_back(field);
|
| +
|
| + field.label = ASCIIToUTF16("Address Line3");
|
| + field.name = ASCIIToUTF16("billing.address.addressLine3");
|
| + form.fields.push_back(field);
|
| +
|
| + field.label = ASCIIToUTF16("Address Line4");
|
| + field.name = ASCIIToUTF16("billing.address.addressLine4");
|
| + form.fields.push_back(field);
|
| +
|
| + form_structure.reset(new FormStructure(form, std::string()));
|
| + form_structure->DetermineHeuristicTypes(TestAutofillMetrics());
|
| + ASSERT_EQ(4U, form_structure->field_count());
|
| + ASSERT_EQ(2U, 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 3 (ignored).
|
| + EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type());
|
| + // Address Line 4 (ignored).
|
| + EXPECT_EQ(UNKNOWN_TYPE, 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.
|
|
|