Index: components/autofill/core/browser/autofill_manager_unittest.cc |
diff --git a/components/autofill/core/browser/autofill_manager_unittest.cc b/components/autofill/core/browser/autofill_manager_unittest.cc |
index 648b2d3052c9aaf01c4a725e84a5cf34722fd49b..ce339820994b3054295d5a062a58887efae4e14d 100644 |
--- a/components/autofill/core/browser/autofill_manager_unittest.cc |
+++ b/components/autofill/core/browser/autofill_manager_unittest.cc |
@@ -2605,8 +2605,28 @@ TEST_F(AutofillManagerTest, OnLoadedServerPredictions) { |
form_structure->DetermineHeuristicTypes(); |
autofill_manager_->AddSeenForm(form_structure); |
+ // Similarly, a second form. |
+ FormData form2; |
+ form2.name = ASCIIToUTF16("MyForm"); |
+ form2.origin = GURL("http://myform.com/form.html"); |
+ form2.action = GURL("http://myform.com/submit.html"); |
+ |
+ FormFieldData field; |
+ test::CreateTestFormField("Last Name", "lastname", "", "text", &field); |
+ form2.fields.push_back(field); |
+ |
+ test::CreateTestFormField("Middle Name", "middlename", "", "text", &field); |
+ form2.fields.push_back(field); |
+ |
+ test::CreateTestFormField("Postal Code", "zipcode", "", "text", &field); |
+ form2.fields.push_back(field); |
+ |
+ TestFormStructure* form_structure2 = new TestFormStructure(form2); |
+ form_structure2->DetermineHeuristicTypes(); |
+ autofill_manager_->AddSeenForm(form_structure2); |
+ |
std::string xml = "<autofillqueryresponse>" |
- "<field autofilltype=\"3\" />" // This is tested below. |
+ "<field autofilltype=\"3\" />" // First test form. |
"<field autofilltype=\"0\" />" |
"<field autofilltype=\"0\" />" |
"<field autofilltype=\"0\" />" |
@@ -2617,9 +2637,13 @@ TEST_F(AutofillManagerTest, OnLoadedServerPredictions) { |
"<field autofilltype=\"3\" />" |
"<field autofilltype=\"2\" />" |
"<field autofilltype=\"61\"/>" |
+ "<field autofilltype=\"5\" />" // Second form. |
+ "<field autofilltype=\"4\" />" |
+ "<field autofilltype=\"35\"/>" |
"</autofillqueryresponse>"; |
std::vector<std::string> signatures; |
signatures.push_back(form_structure->FormSignature()); |
+ signatures.push_back(form_structure2->FormSignature()); |
base::HistogramTester histogram_tester; |
autofill_manager_->OnLoadedServerPredictions(xml, signatures); |
@@ -2630,8 +2654,15 @@ TEST_F(AutofillManagerTest, OnLoadedServerPredictions) { |
histogram_tester.ExpectBucketCount("Autofill.ServerQueryResponse", |
AutofillMetrics::QUERY_RESPONSE_PARSED, |
1); |
- // We expect the server type to have been applied to the first field. |
+ // We expect the server type to have been applied to the first field of the |
+ // first form. |
EXPECT_EQ(NAME_FIRST, form_structure->field(0)->Type().GetStorableType()); |
+ |
+ // We expect the server types to have been applied to the second form. |
+ EXPECT_EQ(NAME_LAST, form_structure2->field(0)->Type().GetStorableType()); |
+ EXPECT_EQ(NAME_MIDDLE, form_structure2->field(1)->Type().GetStorableType()); |
+ EXPECT_EQ(ADDRESS_HOME_ZIP, |
+ form_structure2->field(2)->Type().GetStorableType()); |
} |
// Test that OnLoadedServerPredictions does not call ParseQueryResponse if the |