| Index: chrome/browser/autofill/autofill_manager_unittest.cc
 | 
| diff --git a/chrome/browser/autofill/autofill_manager_unittest.cc b/chrome/browser/autofill/autofill_manager_unittest.cc
 | 
| index cabf531ba85227fd34acc3b59bad195bce0a5a26..b30cef9dbffa71c07d99e9aa3d62e356b3f87ceb 100644
 | 
| --- a/chrome/browser/autofill/autofill_manager_unittest.cc
 | 
| +++ b/chrome/browser/autofill/autofill_manager_unittest.cc
 | 
| @@ -661,6 +661,10 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness {
 | 
|      autofill_manager_->OnFormsSeen(forms, base::TimeTicks());
 | 
|    }
 | 
|  
 | 
| +  void LoadServerPredictions(const std::string& response_xml) {
 | 
| +    autofill_manager_->OnLoadedServerPredictions(response_xml);
 | 
| +  }
 | 
| +
 | 
|    void FormSubmitted(const FormData& form) {
 | 
|      if (autofill_manager_->OnFormSubmitted(form, base::TimeTicks::Now()))
 | 
|        autofill_manager_->WaitForAsyncFormSubmit();
 | 
| @@ -1810,6 +1814,56 @@ TEST_F(AutofillManagerTest, FillCreditCardForm) {
 | 
|    ExpectFilledCreditCardFormElvis(page_id, results, kDefaultPageID, false);
 | 
|  }
 | 
|  
 | 
| +TEST_F(AutofillManagerTest, FillCheckableElements) {
 | 
| +  FormData form;
 | 
| +  CreateTestAddressFormData(&form);
 | 
| +
 | 
| +  // Add a checkbox field.
 | 
| +  FormFieldData field;
 | 
| +  autofill_test::CreateTestFormField(
 | 
| +      "Checkbox", "checkbx", "fill-me", "checkbox", &field);
 | 
| +  field.is_checkable = true;
 | 
| +  form.fields.push_back(field);
 | 
| +  autofill_test::CreateTestFormField(
 | 
| +      "Checkbox", "checkbx", "fill-me", "checkbox", &field);
 | 
| +  field.is_checkable = true;
 | 
| +  form.fields.push_back(field);
 | 
| +
 | 
| +  std::vector<FormData> forms(1, form);
 | 
| +  FormsSeen(forms);
 | 
| +
 | 
| +  // Replicate server response with XML.
 | 
| +  const std::string response_xml =
 | 
| +      "<autofillqueryresponse>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"0\"/>"
 | 
| +      "<field autofilltype=\"61\" defaultvalue=\"fill-me\"/>"
 | 
| +      "<field autofilltype=\"61\" defaultvalue=\"dont-fill-me\"/>"
 | 
| +      "</autofillqueryresponse>";
 | 
| +  LoadServerPredictions(response_xml);
 | 
| +
 | 
| +  GUIDPair guid("00000000-0000-0000-0000-000000000001", 0);
 | 
| +  GUIDPair empty(std::string(), 0);
 | 
| +  FillAutofillFormData(kDefaultPageID, form, form.fields[0],
 | 
| +                       PackGUIDs(empty, guid));
 | 
| +  int page_id = 0;
 | 
| +  FormData results;
 | 
| +  EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results));
 | 
| +  // Second to last field should be checked.
 | 
| +  EXPECT_TRUE(results.fields[results.fields.size()-2].is_checked);
 | 
| +  // Last field shouldn't be checked as values are not same.
 | 
| +  EXPECT_FALSE(results.fields[results.fields.size()-1].is_checked);
 | 
| +}
 | 
| +
 | 
|  // Test that we correctly fill a credit card form with month input type.
 | 
|  // 1. year empty, month empty
 | 
|  TEST_F(AutofillManagerTest, FillCreditCardFormNoYearNoMonth) {
 | 
| 
 |