Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(598)

Side by Side Diff: chrome/browser/autofill/autofill_manager_unittest.cc

Issue 11415221: Add support for autofilling radio buttons and checkboxes. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fix the nit. Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 } 654 }
655 655
656 void AutocompleteSuggestionsReturned(const std::vector<string16>& result) { 656 void AutocompleteSuggestionsReturned(const std::vector<string16>& result) {
657 autofill_manager_->autocomplete_history_manager_.SendSuggestions(&result); 657 autofill_manager_->autocomplete_history_manager_.SendSuggestions(&result);
658 } 658 }
659 659
660 void FormsSeen(const std::vector<FormData>& forms) { 660 void FormsSeen(const std::vector<FormData>& forms) {
661 autofill_manager_->OnFormsSeen(forms, base::TimeTicks()); 661 autofill_manager_->OnFormsSeen(forms, base::TimeTicks());
662 } 662 }
663 663
664 void LoadServerPredictions(const std::string& response_xml) {
665 autofill_manager_->OnLoadedServerPredictions(response_xml);
666 }
667
664 void FormSubmitted(const FormData& form) { 668 void FormSubmitted(const FormData& form) {
665 if (autofill_manager_->OnFormSubmitted(form, base::TimeTicks::Now())) 669 if (autofill_manager_->OnFormSubmitted(form, base::TimeTicks::Now()))
666 autofill_manager_->WaitForAsyncFormSubmit(); 670 autofill_manager_->WaitForAsyncFormSubmit();
667 } 671 }
668 672
669 void FillAutofillFormData(int query_id, 673 void FillAutofillFormData(int query_id,
670 const FormData& form, 674 const FormData& form,
671 const FormFieldData& field, 675 const FormFieldData& field,
672 int unique_id) { 676 int unique_id) {
673 autofill_manager_->OnFillAutofillFormData(query_id, form, field, unique_id); 677 autofill_manager_->OnFillAutofillFormData(query_id, form, field, unique_id);
(...skipping 1129 matching lines...) Expand 10 before | Expand all | Expand 10 after
1803 GUIDPair empty(std::string(), 0); 1807 GUIDPair empty(std::string(), 0);
1804 FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), 1808 FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(),
1805 PackGUIDs(guid, empty)); 1809 PackGUIDs(guid, empty));
1806 1810
1807 int page_id = 0; 1811 int page_id = 0;
1808 FormData results; 1812 FormData results;
1809 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); 1813 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results));
1810 ExpectFilledCreditCardFormElvis(page_id, results, kDefaultPageID, false); 1814 ExpectFilledCreditCardFormElvis(page_id, results, kDefaultPageID, false);
1811 } 1815 }
1812 1816
1817 TEST_F(AutofillManagerTest, FillCheckableElements) {
1818 FormData form;
1819 CreateTestAddressFormData(&form);
1820
1821 // Add a checkbox field.
1822 FormFieldData field;
1823 autofill_test::CreateTestFormField(
1824 "Checkbox", "checkbx", "fill-me", "checkbox", &field);
1825 field.is_checkable = true;
1826 form.fields.push_back(field);
1827 autofill_test::CreateTestFormField(
1828 "Checkbox", "checkbx", "fill-me", "checkbox", &field);
1829 field.is_checkable = true;
1830 form.fields.push_back(field);
1831
1832 std::vector<FormData> forms(1, form);
1833 FormsSeen(forms);
1834
1835 // Replicate server response with XML.
1836 const std::string response_xml =
1837 "<autofillqueryresponse>"
1838 "<field autofilltype=\"0\"/>"
1839 "<field autofilltype=\"0\"/>"
1840 "<field autofilltype=\"0\"/>"
1841 "<field autofilltype=\"0\"/>"
1842 "<field autofilltype=\"0\"/>"
1843 "<field autofilltype=\"0\"/>"
1844 "<field autofilltype=\"0\"/>"
1845 "<field autofilltype=\"0\"/>"
1846 "<field autofilltype=\"0\"/>"
1847 "<field autofilltype=\"0\"/>"
1848 "<field autofilltype=\"0\"/>"
1849 "<field autofilltype=\"61\" defaultvalue=\"fill-me\"/>"
1850 "<field autofilltype=\"61\" defaultvalue=\"dont-fill-me\"/>"
1851 "</autofillqueryresponse>";
1852 LoadServerPredictions(response_xml);
1853
1854 GUIDPair guid("00000000-0000-0000-0000-000000000001", 0);
1855 GUIDPair empty(std::string(), 0);
1856 FillAutofillFormData(kDefaultPageID, form, form.fields[0],
1857 PackGUIDs(empty, guid));
1858 int page_id = 0;
1859 FormData results;
1860 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results));
1861 // Second to last field should be checked.
1862 EXPECT_TRUE(results.fields[results.fields.size()-2].is_checked);
1863 // Last field shouldn't be checked as values are not same.
1864 EXPECT_FALSE(results.fields[results.fields.size()-1].is_checked);
1865 }
1866
1813 // Test that we correctly fill a credit card form with month input type. 1867 // Test that we correctly fill a credit card form with month input type.
1814 // 1. year empty, month empty 1868 // 1. year empty, month empty
1815 TEST_F(AutofillManagerTest, FillCreditCardFormNoYearNoMonth) { 1869 TEST_F(AutofillManagerTest, FillCreditCardFormNoYearNoMonth) {
1816 // Same as the SetUp(), but generate 4 credit cards with year month 1870 // Same as the SetUp(), but generate 4 credit cards with year month
1817 // combination. 1871 // combination.
1818 personal_data_.CreateTestCreditCardsYearAndMonth("", ""); 1872 personal_data_.CreateTestCreditCardsYearAndMonth("", "");
1819 // Set up our form data. 1873 // Set up our form data.
1820 FormData form; 1874 FormData form;
1821 CreateTestCreditCardFormData(&form, true, true); 1875 CreateTestCreditCardFormData(&form, true, true);
1822 std::vector<FormData> forms(1, form); 1876 std::vector<FormData> forms(1, form);
(...skipping 1332 matching lines...) Expand 10 before | Expand all | Expand 10 after
3155 3209
3156 FormData form; 3210 FormData form;
3157 CreateTestAddressFormData(&form); 3211 CreateTestAddressFormData(&form);
3158 std::vector<FormData> forms(1, form); 3212 std::vector<FormData> forms(1, form);
3159 FormsSeen(forms); 3213 FormsSeen(forms);
3160 const FormFieldData& field = form.fields[0]; 3214 const FormFieldData& field = form.fields[0];
3161 GetAutofillSuggestions(form, field); // should call the delegate's OnQuery() 3215 GetAutofillSuggestions(form, field); // should call the delegate's OnQuery()
3162 3216
3163 autofill_manager_->SetExternalDelegate(NULL); 3217 autofill_manager_->SetExternalDelegate(NULL);
3164 } 3218 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698