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 d7da81cea49b9691ea90e0800eaddea6db936896..d543ab60d63ce121f8a5fc31eca5a1bb119a52ea 100644 |
--- a/components/autofill/core/browser/autofill_manager_unittest.cc |
+++ b/components/autofill/core/browser/autofill_manager_unittest.cc |
@@ -243,41 +243,6 @@ void CreateTestShippingOptionsFormData(FormData* form) { |
form->fields.push_back(field); |
} |
-// Populates |form| with data corresponding to a simple address form. |
-// Note that this actually appends fields to the form data, which can be useful |
-// for building up more complex test forms. |
-void CreateTestAddressFormData(FormData* form) { |
- form->name = ASCIIToUTF16("MyForm"); |
- form->method = ASCIIToUTF16("POST"); |
- form->origin = GURL("http://myform.com/form.html"); |
- form->action = GURL("http://myform.com/submit.html"); |
- form->user_submitted = true; |
- |
- FormFieldData field; |
- test::CreateTestFormField("First Name", "firstname", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Middle Name", "middlename", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Last Name", "lastname", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Address Line 1", "addr1", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Address Line 2", "addr2", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("City", "city", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("State", "state", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Postal Code", "zipcode", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Country", "country", "", "text", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Phone Number", "phonenumber", "", "tel", &field); |
- form->fields.push_back(field); |
- test::CreateTestFormField("Email", "email", "", "email", &field); |
- form->fields.push_back(field); |
-} |
- |
// Populates |form| with data corresponding to a simple credit card form. |
// Note that this actually appends fields to the form data, which can be useful |
// for building up more complex test forms. |
@@ -491,6 +456,19 @@ class MockAutocompleteHistoryManager : public AutocompleteHistoryManager { |
DISALLOW_COPY_AND_ASSIGN(MockAutocompleteHistoryManager); |
}; |
+class MockAutofillDriver : public TestAutofillDriver { |
+ public: |
+ explicit MockAutofillDriver(content::WebContents* web_contents) |
+ : TestAutofillDriver(web_contents) {} |
+ |
+ // Mock methods to enable testability. |
+ MOCK_METHOD2(SendFormDataToRenderer, void(int query_id, |
+ const FormData& data)); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(MockAutofillDriver); |
+}; |
+ |
class TestAutofillManager : public AutofillManager { |
public: |
TestAutofillManager(AutofillDriver* driver, |
@@ -687,7 +665,7 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness { |
autofill::TabAutofillManagerDelegate::CreateForWebContents(web_contents()); |
personal_data_.SetBrowserContext(profile); |
- autofill_driver_.reset(new TestAutofillDriver(web_contents())); |
+ autofill_driver_.reset(new MockAutofillDriver(web_contents())); |
autofill_manager_.reset(new TestAutofillManager( |
autofill_driver_.get(), |
autofill::TabAutofillManagerDelegate::FromWebContents(web_contents()), |
@@ -760,6 +738,23 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness { |
autofill_manager_->OnFillAutofillFormData(query_id, form, field, unique_id); |
} |
+ // Calls |autofill_manager_->OnFillAutofillFormData()| with the specified |
+ // input parameters after setting up the expectation that the mock driver's |
+ // |SendFormDataToRenderer()| method will be called and saving the parameters |
+ // of that call into the |response_query_id| and |response_data| output |
+ // parameters. |
+ void FillAutofillFormDataAndSaveResults(int input_query_id, |
+ const FormData& input_form, |
+ const FormFieldData& input_field, |
+ int unique_id, |
+ int* response_query_id, |
+ FormData* response_data) { |
+ EXPECT_CALL(*autofill_driver_, SendFormDataToRenderer(_, _)). |
+ WillOnce((DoAll(testing::SaveArg<0>(response_query_id), |
+ testing::SaveArg<1>(response_data)))); |
+ FillAutofillFormData(input_query_id, input_form, input_field, unique_id); |
+ } |
+ |
int PackGUIDs(const GUIDPair& cc_guid, const GUIDPair& profile_guid) const { |
return autofill_manager_->PackGUIDs(cc_guid, profile_guid); |
} |
@@ -800,25 +795,8 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness { |
return message != NULL; |
} |
- bool GetAutofillFormDataFilledMessage(int* page_id, FormData* results) { |
- const uint32 kMsgID = AutofillMsg_FormDataFilled::ID; |
- const IPC::Message* message = |
- process()->sink().GetFirstMessageMatching(kMsgID); |
- if (!message) |
- return false; |
- Tuple2<int, FormData> autofill_param; |
- AutofillMsg_FormDataFilled::Read(message, &autofill_param); |
- if (page_id) |
- *page_id = autofill_param.a; |
- if (results) |
- *results = autofill_param.b; |
- |
- process()->sink().ClearMessages(); |
- return true; |
- } |
- |
protected: |
- scoped_ptr<TestAutofillDriver> autofill_driver_; |
+ scoped_ptr<MockAutofillDriver> autofill_driver_; |
scoped_ptr<TestAutofillManager> autofill_manager_; |
TestPersonalDataManager personal_data_; |
@@ -855,7 +833,7 @@ class TestFormStructure : public FormStructure { |
// Test that browser asks for all forms when Autocheckout is enabled. |
TEST_F(AutofillManagerTest, GetAllForms) { |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
// Enable autocheckout. |
autofill_manager_->set_autocheckout_url_prefix("test-prefix"); |
@@ -870,7 +848,7 @@ TEST_F(AutofillManagerTest, GetAllForms) { |
TEST_F(AutofillManagerTest, GetProfileSuggestionsEmptyValue) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -914,7 +892,7 @@ TEST_F(AutofillManagerTest, AutocheckoutFormsSeen) { |
FormData user_supplied; |
CreateTestFormWithAutocompleteAttribute(&user_supplied); |
FormData address; |
- CreateTestAddressFormData(&address); |
+ test::CreateTestAddressFormData(&address); |
// Push user_supplied before address and observe order changing when |
// Autocheckout is not enabled.. |
@@ -951,7 +929,7 @@ TEST_F(AutofillManagerTest, DynamicFormsSeen) { |
FormData user_supplied; |
CreateTestFormWithAutocompleteAttribute(&user_supplied); |
FormData address; |
- CreateTestAddressFormData(&address); |
+ test::CreateTestAddressFormData(&address); |
autofill_manager_->set_autocheckout_url_prefix("test-prefix"); |
// Push user_supplied only |
@@ -985,7 +963,7 @@ TEST_F(AutofillManagerTest, DynamicFormsSeen) { |
TEST_F(AutofillManagerTest, GetProfileSuggestionsMatchCharacter) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1046,7 +1024,7 @@ TEST_F(AutofillManagerTest, GetProfileSuggestionsUnknownFields) { |
TEST_F(AutofillManagerTest, GetProfileSuggestionsWithDuplicates) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1092,7 +1070,7 @@ TEST_F(AutofillManagerTest, GetProfileSuggestionsWithDuplicates) { |
TEST_F(AutofillManagerTest, GetProfileSuggestionsAutofillDisabledByUser) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1109,7 +1087,7 @@ TEST_F(AutofillManagerTest, GetProfileSuggestionsAutofillDisabledByUser) { |
TEST_F(AutofillManagerTest, GetProfileSuggestionsMethodGet) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
form.method = ASCIIToUTF16("GET"); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1427,7 +1405,7 @@ TEST_F(AutofillManagerTest, GetCreditCardSuggestionsRepeatedObfuscatedNumber) { |
TEST_F(AutofillManagerTest, GetAddressAndCreditCardSuggestions) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
CreateTestCreditCardFormData(&form, true, false); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1501,7 +1479,7 @@ TEST_F(AutofillManagerTest, GetAddressAndCreditCardSuggestions) { |
TEST_F(AutofillManagerTest, GetAddressAndCreditCardSuggestionsNonHttps) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
CreateTestCreditCardFormData(&form, false, false); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1568,7 +1546,7 @@ TEST_F(AutofillManagerTest, GetAddressAndCreditCardSuggestionsNonHttps) { |
TEST_F(AutofillManagerTest, GetCombinedAutofillAndAutocompleteSuggestions) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1618,7 +1596,7 @@ TEST_F(AutofillManagerTest, GetCombinedAutofillAndAutocompleteSuggestions) { |
TEST_F(AutofillManagerTest, GetFieldSuggestionsWhenFormIsAutofilled) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1656,7 +1634,7 @@ TEST_F(AutofillManagerTest, GetFieldSuggestionsWhenFormIsAutofilled) { |
TEST_F(AutofillManagerTest, GetFieldSuggestionsForAutocompleteOnly) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
FormFieldData field; |
test::CreateTestFormField("Some Field", "somefield", "", "text", &field); |
form.fields.push_back(field); |
@@ -1698,7 +1676,7 @@ TEST_F(AutofillManagerTest, GetFieldSuggestionsForAutocompleteOnly) { |
TEST_F(AutofillManagerTest, GetFieldSuggestionsWithDuplicateValues) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1741,7 +1719,7 @@ TEST_F(AutofillManagerTest, GetFieldSuggestionsWithDuplicateValues) { |
TEST_F(AutofillManagerTest, GetFieldSuggestionsForMultiValuedProfileUnfilled) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1828,7 +1806,7 @@ TEST_F(AutofillManagerTest, GetFieldSuggestionsForMultiValuedProfileUnfilled) { |
TEST_F(AutofillManagerTest, GetFieldSuggestionsForMultiValuedProfileFilled) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1879,7 +1857,7 @@ TEST_F(AutofillManagerTest, GetFieldSuggestionsForMultiValuedProfileFilled) { |
TEST_F(AutofillManagerTest, GetProfileSuggestionsFancyPhone) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -1932,19 +1910,18 @@ TEST_F(AutofillManagerTest, GetProfileSuggestionsFancyPhone) { |
TEST_F(AutofillManagerTest, FillAddressForm) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
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)); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Test that we correctly fill an address form from an auxiliary profile. |
@@ -1956,19 +1933,18 @@ TEST_F(AutofillManagerTest, FillAddressFormFromAuxiliaryProfile) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
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)); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Test that we correctly fill a credit card form. |
@@ -1981,13 +1957,12 @@ TEST_F(AutofillManagerTest, FillCreditCardForm) { |
GUIDPair guid("00000000-0000-0000-0000-000000000004", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), |
- PackGUIDs(guid, empty)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
- ExpectFilledCreditCardFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, *form.fields.begin(), |
+ PackGUIDs(guid, empty), &response_page_id, &response_data); |
+ ExpectFilledCreditCardFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Test that we correctly fill a credit card form with month input type. |
@@ -2004,13 +1979,11 @@ TEST_F(AutofillManagerTest, FillCreditCardFormNoYearNoMonth) { |
GUIDPair guid("00000000-0000-0000-0000-000000000007", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), |
- PackGUIDs(guid, empty)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
- ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results, |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, *form.fields.begin(), |
+ PackGUIDs(guid, empty), &response_page_id, &response_data); |
+ ExpectFilledCreditCardYearMonthWithYearMonth(response_page_id, response_data, |
kDefaultPageID, false, "", ""); |
} |
@@ -2029,13 +2002,11 @@ TEST_F(AutofillManagerTest, FillCreditCardFormNoYearMonth) { |
GUIDPair guid("00000000-0000-0000-0000-000000000007", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), |
- PackGUIDs(guid, empty)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
- ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results, |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, *form.fields.begin(), |
+ PackGUIDs(guid, empty), &response_page_id, &response_data); |
+ ExpectFilledCreditCardYearMonthWithYearMonth(response_page_id, response_data, |
kDefaultPageID, false, "", "04"); |
} |
@@ -2053,13 +2024,11 @@ TEST_F(AutofillManagerTest, FillCreditCardFormYearNoMonth) { |
GUIDPair guid("00000000-0000-0000-0000-000000000007", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), |
- PackGUIDs(guid, empty)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
- ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results, |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, *form.fields.begin(), |
+ PackGUIDs(guid, empty), &response_page_id, &response_data); |
+ ExpectFilledCreditCardYearMonthWithYearMonth(response_page_id, response_data, |
kDefaultPageID, false, "2012", ""); |
} |
@@ -2078,13 +2047,11 @@ TEST_F(AutofillManagerTest, FillCreditCardFormYearMonth) { |
GUIDPair guid("00000000-0000-0000-0000-000000000007", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), |
- PackGUIDs(guid, empty)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
- ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results, |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, *form.fields.begin(), |
+ PackGUIDs(guid, empty), &response_page_id, &response_data); |
+ ExpectFilledCreditCardYearMonthWithYearMonth(response_page_id, response_data, |
kDefaultPageID, false, "2012", "04"); |
} |
@@ -2092,7 +2059,7 @@ TEST_F(AutofillManagerTest, FillCreditCardFormYearMonth) { |
TEST_F(AutofillManagerTest, FillAddressAndCreditCardForm) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
CreateTestCreditCardFormData(&form, true, false); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -2100,28 +2067,26 @@ TEST_F(AutofillManagerTest, FillAddressAndCreditCardForm) { |
// First fill the address data. |
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)); |
+ int response_page_id = 0; |
+ FormData response_data; |
{ |
SCOPED_TRACE("Address"); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, true); |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, true); |
} |
// Now fill the credit card data. |
const int kPageID2 = 2; |
GUIDPair guid2("00000000-0000-0000-0000-000000000004", 0); |
- FillAutofillFormData(kPageID2, form, form.fields.back(), |
- PackGUIDs(guid2, empty)); |
- |
- page_id = 0; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ response_page_id = 0; |
{ |
+ FillAutofillFormDataAndSaveResults(kPageID2, form, form.fields.back(), |
+ PackGUIDs(guid2, empty), &response_page_id, &response_data); |
SCOPED_TRACE("Credit card"); |
- ExpectFilledCreditCardFormElvis(page_id, results, kPageID2, true); |
+ ExpectFilledCreditCardFormElvis( |
+ response_page_id, response_data, kPageID2, true); |
} |
} |
@@ -2130,9 +2095,9 @@ TEST_F(AutofillManagerTest, FillAddressAndCreditCardForm) { |
TEST_F(AutofillManagerTest, FillFormWithMultipleSections) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
const size_t kAddressFormSize = form.fields.size(); |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
for (size_t i = kAddressFormSize; i < form.fields.size(); ++i) { |
// Make sure the fields have distinct names. |
form.fields[i].name = form.fields[i].name + ASCIIToUTF16("_"); |
@@ -2143,24 +2108,22 @@ TEST_F(AutofillManagerTest, FillFormWithMultipleSections) { |
// Fill the first section. |
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)); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Address 1"); |
- |
// The second address section should be empty. |
- ASSERT_EQ(results.fields.size(), 2*kAddressFormSize); |
+ ASSERT_EQ(response_data.fields.size(), 2*kAddressFormSize); |
for (size_t i = kAddressFormSize; i < form.fields.size(); ++i) { |
- EXPECT_EQ(base::string16(), results.fields[i].value); |
+ EXPECT_EQ(base::string16(), response_data.fields[i].value); |
} |
// The first address section should be filled with Elvis's data. |
- results.fields.resize(kAddressFormSize); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ response_data.fields.resize(kAddressFormSize); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Fill the second section, with the initiating field somewhere in the middle |
@@ -2168,23 +2131,22 @@ TEST_F(AutofillManagerTest, FillFormWithMultipleSections) { |
const int kPageID2 = 2; |
GUIDPair guid2("00000000-0000-0000-0000-000000000001", 0); |
ASSERT_LT(9U, kAddressFormSize); |
- FillAutofillFormData(kPageID2, form, form.fields[kAddressFormSize + 9], |
- PackGUIDs(empty, guid2)); |
- |
- page_id = 0; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ response_page_id = 0; |
+ FillAutofillFormDataAndSaveResults( |
+ kPageID2, form, form.fields[kAddressFormSize + 9], |
+ PackGUIDs(empty, guid2), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Address 2"); |
- ASSERT_EQ(results.fields.size(), form.fields.size()); |
+ ASSERT_EQ(response_data.fields.size(), form.fields.size()); |
// The first address section should be empty. |
- ASSERT_EQ(results.fields.size(), 2*kAddressFormSize); |
+ ASSERT_EQ(response_data.fields.size(), 2*kAddressFormSize); |
for (size_t i = 0; i < kAddressFormSize; ++i) { |
- EXPECT_EQ(base::string16(), results.fields[i].value); |
+ EXPECT_EQ(base::string16(), response_data.fields[i].value); |
} |
// The second address section should be filled with Elvis's data. |
- FormData secondSection = results; |
+ FormData secondSection = response_data; |
secondSection.fields.erase(secondSection.fields.begin(), |
secondSection.fields.begin() + kAddressFormSize); |
for (size_t i = 0; i < kAddressFormSize; ++i) { |
@@ -2193,7 +2155,8 @@ TEST_F(AutofillManagerTest, FillFormWithMultipleSections) { |
base::string16 original_name = name.substr(0, name.size() - 1); |
secondSection.fields[i].name = original_name; |
} |
- ExpectFilledAddressFormElvis(page_id, secondSection, kPageID2, false); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, secondSection, kPageID2, false); |
} |
} |
@@ -2261,99 +2224,98 @@ TEST_F(AutofillManagerTest, FillFormWithAuthorSpecifiedSections) { |
// Fill the unnamed section. |
GUIDPair guid("00000000-0000-0000-0000-000000000001", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, form.fields[1], |
- PackGUIDs(empty, guid)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[1], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Unnamed section"); |
- EXPECT_EQ(kDefaultPageID, page_id); |
- EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
- EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
- EXPECT_EQ(GURL("https://myform.com/form.html"), results.origin); |
- EXPECT_EQ(GURL("https://myform.com/submit.html"), results.action); |
- EXPECT_TRUE(results.user_submitted); |
- ASSERT_EQ(11U, results.fields.size()); |
- |
- ExpectFilledField("", "country", "", "text", results.fields[0]); |
- ExpectFilledField("", "firstname", "Elvis", "text", results.fields[1]); |
- ExpectFilledField("", "lastname", "Presley", "text", results.fields[2]); |
- ExpectFilledField("", "address", "", "text", results.fields[3]); |
- ExpectFilledField("", "city", "", "text", results.fields[4]); |
- ExpectFilledField("", "state", "", "text", results.fields[5]); |
- ExpectFilledField("", "zip", "", "text", results.fields[6]); |
- ExpectFilledField("", "ccname", "", "text", results.fields[7]); |
- ExpectFilledField("", "ccnumber", "", "text", results.fields[8]); |
- ExpectFilledField("", "ccexp", "", "text", results.fields[9]); |
+ EXPECT_EQ(kDefaultPageID, response_page_id); |
+ EXPECT_EQ(ASCIIToUTF16("MyForm"), response_data.name); |
+ EXPECT_EQ(ASCIIToUTF16("POST"), response_data.method); |
+ EXPECT_EQ(GURL("https://myform.com/form.html"), response_data.origin); |
+ EXPECT_EQ(GURL("https://myform.com/submit.html"), response_data.action); |
+ EXPECT_TRUE(response_data.user_submitted); |
+ ASSERT_EQ(11U, response_data.fields.size()); |
+ |
+ ExpectFilledField("", "country", "", "text", response_data.fields[0]); |
+ ExpectFilledField("", "firstname", "Elvis", "text", |
+ response_data.fields[1]); |
+ ExpectFilledField("", "lastname", "Presley", "text", |
+ response_data.fields[2]); |
+ ExpectFilledField("", "address", "", "text", response_data.fields[3]); |
+ ExpectFilledField("", "city", "", "text", response_data.fields[4]); |
+ ExpectFilledField("", "state", "", "text", response_data.fields[5]); |
+ ExpectFilledField("", "zip", "", "text", response_data.fields[6]); |
+ ExpectFilledField("", "ccname", "", "text", response_data.fields[7]); |
+ ExpectFilledField("", "ccnumber", "", "text", response_data.fields[8]); |
+ ExpectFilledField("", "ccexp", "", "text", response_data.fields[9]); |
ExpectFilledField("", "email", "theking@gmail.com", "text", |
- results.fields[10]); |
+ response_data.fields[10]); |
} |
// Fill the address portion of the billing section. |
const int kPageID2 = 2; |
GUIDPair guid2("00000000-0000-0000-0000-000000000001", 0); |
- FillAutofillFormData(kPageID2, form, form.fields[0], |
- PackGUIDs(empty, guid2)); |
- |
- page_id = 0; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ response_page_id = 0; |
+ FillAutofillFormDataAndSaveResults(kPageID2, form, form.fields[0], |
+ PackGUIDs(empty, guid2), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Billing address"); |
- EXPECT_EQ(kPageID2, page_id); |
- EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
- EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
- EXPECT_EQ(GURL("https://myform.com/form.html"), results.origin); |
- EXPECT_EQ(GURL("https://myform.com/submit.html"), results.action); |
- EXPECT_TRUE(results.user_submitted); |
- ASSERT_EQ(11U, results.fields.size()); |
+ EXPECT_EQ(kPageID2, response_page_id); |
+ EXPECT_EQ(ASCIIToUTF16("MyForm"), response_data.name); |
+ EXPECT_EQ(ASCIIToUTF16("POST"), response_data.method); |
+ EXPECT_EQ(GURL("https://myform.com/form.html"), response_data.origin); |
+ EXPECT_EQ(GURL("https://myform.com/submit.html"), response_data.action); |
+ EXPECT_TRUE(response_data.user_submitted); |
+ ASSERT_EQ(11U, response_data.fields.size()); |
ExpectFilledField("", "country", "United States", "text", |
- results.fields[0]); |
- ExpectFilledField("", "firstname", "", "text", results.fields[1]); |
- ExpectFilledField("", "lastname", "", "text", results.fields[2]); |
+ response_data.fields[0]); |
+ ExpectFilledField("", "firstname", "", "text", response_data.fields[1]); |
+ ExpectFilledField("", "lastname", "", "text", response_data.fields[2]); |
ExpectFilledField("", "address", "3734 Elvis Presley Blvd.", "text", |
- results.fields[3]); |
- ExpectFilledField("", "city", "Memphis", "text", results.fields[4]); |
- ExpectFilledField("", "state", "Tennessee", "text", results.fields[5]); |
- ExpectFilledField("", "zip", "38116", "text", results.fields[6]); |
- ExpectFilledField("", "ccname", "", "text", results.fields[7]); |
- ExpectFilledField("", "ccnumber", "", "text", results.fields[8]); |
- ExpectFilledField("", "ccexp", "", "text", results.fields[9]); |
- ExpectFilledField("", "email", "", "text", results.fields[10]); |
+ response_data.fields[3]); |
+ ExpectFilledField("", "city", "Memphis", "text", response_data.fields[4]); |
+ ExpectFilledField("", "state", "Tennessee", "text", |
+ response_data.fields[5]); |
+ ExpectFilledField("", "zip", "38116", "text", response_data.fields[6]); |
+ ExpectFilledField("", "ccname", "", "text", response_data.fields[7]); |
+ ExpectFilledField("", "ccnumber", "", "text", response_data.fields[8]); |
+ ExpectFilledField("", "ccexp", "", "text", response_data.fields[9]); |
+ ExpectFilledField("", "email", "", "text", response_data.fields[10]); |
} |
// Fill the credit card portion of the billing section. |
const int kPageID3 = 3; |
GUIDPair guid3("00000000-0000-0000-0000-000000000004", 0); |
- FillAutofillFormData(kPageID3, form, form.fields[form.fields.size() - 2], |
- PackGUIDs(guid3, empty)); |
- |
- page_id = 0; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ response_page_id = 0; |
+ FillAutofillFormDataAndSaveResults( |
+ kPageID3, form, form.fields[form.fields.size() - 2], |
+ PackGUIDs(guid3, empty), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Credit card"); |
- EXPECT_EQ(kPageID3, page_id); |
- EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
- EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
- EXPECT_EQ(GURL("https://myform.com/form.html"), results.origin); |
- EXPECT_EQ(GURL("https://myform.com/submit.html"), results.action); |
- EXPECT_TRUE(results.user_submitted); |
- ASSERT_EQ(11U, results.fields.size()); |
- |
- ExpectFilledField("", "country", "", "text", results.fields[0]); |
- ExpectFilledField("", "firstname", "", "text", results.fields[1]); |
- ExpectFilledField("", "lastname", "", "text", results.fields[2]); |
- ExpectFilledField("", "address", "", "text", results.fields[3]); |
- ExpectFilledField("", "city", "", "text", results.fields[4]); |
- ExpectFilledField("", "state", "", "text", results.fields[5]); |
- ExpectFilledField("", "zip", "", "text", results.fields[6]); |
- ExpectFilledField("", "ccname", "Elvis Presley", "text", results.fields[7]); |
+ EXPECT_EQ(kPageID3, response_page_id); |
+ EXPECT_EQ(ASCIIToUTF16("MyForm"), response_data.name); |
+ EXPECT_EQ(ASCIIToUTF16("POST"), response_data.method); |
+ EXPECT_EQ(GURL("https://myform.com/form.html"), response_data.origin); |
+ EXPECT_EQ(GURL("https://myform.com/submit.html"), response_data.action); |
+ EXPECT_TRUE(response_data.user_submitted); |
+ ASSERT_EQ(11U, response_data.fields.size()); |
+ |
+ ExpectFilledField("", "country", "", "text", response_data.fields[0]); |
+ ExpectFilledField("", "firstname", "", "text", response_data.fields[1]); |
+ ExpectFilledField("", "lastname", "", "text", response_data.fields[2]); |
+ ExpectFilledField("", "address", "", "text", response_data.fields[3]); |
+ ExpectFilledField("", "city", "", "text", response_data.fields[4]); |
+ ExpectFilledField("", "state", "", "text", response_data.fields[5]); |
+ ExpectFilledField("", "zip", "", "text", response_data.fields[6]); |
+ ExpectFilledField("", "ccname", "Elvis Presley", "text", |
+ response_data.fields[7]); |
ExpectFilledField("", "ccnumber", "4234567890123456", "text", |
- results.fields[8]); |
- ExpectFilledField("", "ccexp", "04/2012", "text", results.fields[9]); |
- ExpectFilledField("", "email", "", "text", results.fields[10]); |
+ response_data.fields[8]); |
+ ExpectFilledField("", "ccexp", "04/2012", "text", response_data.fields[9]); |
+ ExpectFilledField("", "email", "", "text", response_data.fields[10]); |
} |
} |
@@ -2362,7 +2324,7 @@ TEST_F(AutofillManagerTest, FillFormWithAuthorSpecifiedSections) { |
TEST_F(AutofillManagerTest, FillFormWithMultipleEmails) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
FormFieldData field; |
test::CreateTestFormField("Confirm email", "email2", "", "text", &field); |
form.fields.push_back(field); |
@@ -2373,26 +2335,26 @@ TEST_F(AutofillManagerTest, FillFormWithMultipleEmails) { |
// Fill the form. |
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)); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
// The second email address should be filled. |
- EXPECT_EQ(ASCIIToUTF16("theking@gmail.com"), results.fields.back().value); |
+ EXPECT_EQ(ASCIIToUTF16("theking@gmail.com"), |
+ response_data.fields.back().value); |
// The remainder of the form should be filled as usual. |
- results.fields.pop_back(); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ response_data.fields.pop_back(); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Test that we correctly fill a previously auto-filled form. |
TEST_F(AutofillManagerTest, FillAutofilledForm) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
// Mark one of the address fields as autofilled. |
form.fields[4].is_autofilled = true; |
CreateTestCreditCardFormData(&form, true, false); |
@@ -2402,15 +2364,13 @@ TEST_F(AutofillManagerTest, FillAutofilledForm) { |
// First fill the address data. |
GUIDPair guid("00000000-0000-0000-0000-000000000001", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, *form.fields.begin(), |
- PackGUIDs(empty, guid)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, *form.fields.begin(), |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Address"); |
- ExpectFilledForm(page_id, results, kDefaultPageID, |
+ ExpectFilledForm(response_page_id, response_data, kDefaultPageID, |
"Elvis", "", "", "", "", "", "", "", "", "", "", "", "", |
"", "", true, true, false); |
} |
@@ -2418,14 +2378,13 @@ TEST_F(AutofillManagerTest, FillAutofilledForm) { |
// Now fill the credit card data. |
const int kPageID2 = 2; |
GUIDPair guid2("00000000-0000-0000-0000-000000000004", 0); |
- FillAutofillFormData(kPageID2, form, form.fields.back(), |
- PackGUIDs(guid2, empty)); |
- |
- page_id = 0; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ response_page_id = 0; |
+ FillAutofillFormDataAndSaveResults(kPageID2, form, form.fields.back(), |
+ PackGUIDs(guid2, empty), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Credit card 1"); |
- ExpectFilledCreditCardFormElvis(page_id, results, kPageID2, true); |
+ ExpectFilledCreditCardFormElvis( |
+ response_page_id, response_data, kPageID2, true); |
} |
// Now set the credit card fields to also be auto-filled, and try again to |
@@ -2437,14 +2396,12 @@ TEST_F(AutofillManagerTest, FillAutofilledForm) { |
} |
const int kPageID3 = 3; |
- FillAutofillFormData(kPageID3, form, *form.fields.rbegin(), |
- PackGUIDs(guid2, empty)); |
- |
- page_id = 0; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ response_page_id = 0; |
+ FillAutofillFormDataAndSaveResults(kPageID3, form, *form.fields.rbegin(), |
+ PackGUIDs(guid2, empty), &response_page_id, &response_data); |
{ |
SCOPED_TRACE("Credit card 2"); |
- ExpectFilledForm(page_id, results, kPageID3, |
+ ExpectFilledForm(response_page_id, response_data, kPageID3, |
"", "", "", "", "", "", "", "", "", "", "", "", "", "", |
"2012", true, true, false); |
} |
@@ -2455,7 +2412,7 @@ TEST_F(AutofillManagerTest, FillAutofilledForm) { |
TEST_F(AutofillManagerTest, FillAddressFormWithVariantType) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -2471,30 +2428,27 @@ TEST_F(AutofillManagerTest, FillAddressFormWithVariantType) { |
GUIDPair guid(profile->guid(), 1); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, form.fields[0], |
- PackGUIDs(empty, guid)); |
- |
- int page_id = 0; |
- FormData results1; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results1)); |
+ int response_page_id = 0; |
+ FormData response_data1; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data1); |
{ |
SCOPED_TRACE("Valid variant"); |
- ExpectFilledAddressFormElvis(page_id, results1, kDefaultPageID, false); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data1, kDefaultPageID, false); |
} |
// Try filling with a variant that doesn't exist. The fields to which this |
// variant would normally apply should not be filled. |
const int kPageID2 = 2; |
GUIDPair guid2(profile->guid(), 2); |
- FillAutofillFormData(kPageID2, form, form.fields[0], |
- PackGUIDs(empty, guid2)); |
- |
- page_id = 0; |
- FormData results2; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results2)); |
+ response_page_id = 0; |
+ FormData response_data2; |
+ FillAutofillFormDataAndSaveResults(kPageID2, form, form.fields[0], |
+ PackGUIDs(empty, guid2), &response_page_id, &response_data2); |
{ |
SCOPED_TRACE("Invalid variant"); |
- ExpectFilledForm(page_id, results2, kPageID2, "", "", "", |
+ ExpectFilledForm(response_page_id, response_data2, kPageID2, "", "", "", |
"3734 Elvis Presley Blvd.", "Apt. 10", "Memphis", |
"Tennessee", "38116", "United States", "12345678901", |
"theking@gmail.com", "", "", "", "", true, false, false); |
@@ -2555,38 +2509,35 @@ TEST_F(AutofillManagerTest, FillPhoneNumber) { |
GUIDPair guid(work_profile->guid(), 0); |
GUIDPair empty(std::string(), 0); |
- |
int page_id = 1; |
- FillAutofillFormData(page_id, form_with_maxlength, |
- *form_with_maxlength.fields.begin(), |
- PackGUIDs(empty, guid)); |
- page_id = 0; |
- FormData results1; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results1)); |
- EXPECT_EQ(1, page_id); |
- |
- ASSERT_EQ(5U, results1.fields.size()); |
- EXPECT_EQ(ASCIIToUTF16("1"), results1.fields[0].value); |
- EXPECT_EQ(ASCIIToUTF16("650"), results1.fields[1].value); |
- EXPECT_EQ(ASCIIToUTF16("555"), results1.fields[2].value); |
- EXPECT_EQ(ASCIIToUTF16("4567"), results1.fields[3].value); |
- EXPECT_EQ(base::string16(), results1.fields[4].value); |
+ int response_page_id = 0; |
+ FormData response_data1; |
+ FillAutofillFormDataAndSaveResults(page_id, form_with_maxlength, |
+ *form_with_maxlength.fields.begin(), |
+ PackGUIDs(empty, guid), &response_page_id, &response_data1); |
+ EXPECT_EQ(1, response_page_id); |
+ |
+ ASSERT_EQ(5U, response_data1.fields.size()); |
+ EXPECT_EQ(ASCIIToUTF16("1"), response_data1.fields[0].value); |
+ EXPECT_EQ(ASCIIToUTF16("650"), response_data1.fields[1].value); |
+ EXPECT_EQ(ASCIIToUTF16("555"), response_data1.fields[2].value); |
+ EXPECT_EQ(ASCIIToUTF16("4567"), response_data1.fields[3].value); |
+ EXPECT_EQ(base::string16(), response_data1.fields[4].value); |
page_id = 2; |
- FillAutofillFormData(page_id, form_with_autocompletetype, |
- *form_with_autocompletetype.fields.begin(), |
- PackGUIDs(empty, guid)); |
- page_id = 0; |
- FormData results2; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results2)); |
- EXPECT_EQ(2, page_id); |
- |
- ASSERT_EQ(5U, results2.fields.size()); |
- EXPECT_EQ(ASCIIToUTF16("1"), results2.fields[0].value); |
- EXPECT_EQ(ASCIIToUTF16("650"), results2.fields[1].value); |
- EXPECT_EQ(ASCIIToUTF16("555"), results2.fields[2].value); |
- EXPECT_EQ(ASCIIToUTF16("4567"), results2.fields[3].value); |
- EXPECT_EQ(base::string16(), results2.fields[4].value); |
+ response_page_id = 0; |
+ FormData response_data2; |
+ FillAutofillFormDataAndSaveResults(page_id, form_with_autocompletetype, |
+ *form_with_autocompletetype.fields.begin(), |
+ PackGUIDs(empty, guid), &response_page_id, &response_data2); |
+ EXPECT_EQ(2, response_page_id); |
+ |
+ ASSERT_EQ(5U, response_data2.fields.size()); |
+ EXPECT_EQ(ASCIIToUTF16("1"), response_data2.fields[0].value); |
+ EXPECT_EQ(ASCIIToUTF16("650"), response_data2.fields[1].value); |
+ EXPECT_EQ(ASCIIToUTF16("555"), response_data2.fields[2].value); |
+ EXPECT_EQ(ASCIIToUTF16("4567"), response_data2.fields[3].value); |
+ EXPECT_EQ(base::string16(), response_data2.fields[4].value); |
// We should not be able to fill prefix and suffix fields for international |
// numbers. |
@@ -2594,36 +2545,34 @@ TEST_F(AutofillManagerTest, FillPhoneNumber) { |
work_profile->SetRawInfo(PHONE_HOME_WHOLE_NUMBER, |
ASCIIToUTF16("447700954321")); |
page_id = 3; |
- FillAutofillFormData(page_id, form_with_maxlength, |
- *form_with_maxlength.fields.begin(), |
- PackGUIDs(empty, guid)); |
- page_id = 0; |
- FormData results3; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results3)); |
- EXPECT_EQ(3, page_id); |
- |
- ASSERT_EQ(5U, results3.fields.size()); |
- EXPECT_EQ(ASCIIToUTF16("44"), results3.fields[0].value); |
- EXPECT_EQ(ASCIIToUTF16("7700"), results3.fields[1].value); |
- EXPECT_EQ(ASCIIToUTF16("954321"), results3.fields[2].value); |
- EXPECT_EQ(ASCIIToUTF16("954321"), results3.fields[3].value); |
- EXPECT_EQ(base::string16(), results3.fields[4].value); |
+ response_page_id = 0; |
+ FormData response_data3; |
+ FillAutofillFormDataAndSaveResults(page_id, form_with_maxlength, |
+ *form_with_maxlength.fields.begin(), |
+ PackGUIDs(empty, guid), &response_page_id, &response_data3); |
+ EXPECT_EQ(3, response_page_id); |
+ |
+ ASSERT_EQ(5U, response_data3.fields.size()); |
+ EXPECT_EQ(ASCIIToUTF16("44"), response_data3.fields[0].value); |
+ EXPECT_EQ(ASCIIToUTF16("7700"), response_data3.fields[1].value); |
+ EXPECT_EQ(ASCIIToUTF16("954321"), response_data3.fields[2].value); |
+ EXPECT_EQ(ASCIIToUTF16("954321"), response_data3.fields[3].value); |
+ EXPECT_EQ(base::string16(), response_data3.fields[4].value); |
page_id = 4; |
- FillAutofillFormData(page_id, form_with_autocompletetype, |
- *form_with_autocompletetype.fields.begin(), |
- PackGUIDs(empty, guid)); |
- page_id = 0; |
- FormData results4; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results4)); |
- EXPECT_EQ(4, page_id); |
- |
- ASSERT_EQ(5U, results4.fields.size()); |
- EXPECT_EQ(ASCIIToUTF16("44"), results4.fields[0].value); |
- EXPECT_EQ(ASCIIToUTF16("7700"), results4.fields[1].value); |
- EXPECT_EQ(ASCIIToUTF16("954321"), results4.fields[2].value); |
- EXPECT_EQ(ASCIIToUTF16("954321"), results4.fields[3].value); |
- EXPECT_EQ(base::string16(), results4.fields[4].value); |
+ response_page_id = 0; |
+ FormData response_data4; |
+ FillAutofillFormDataAndSaveResults(page_id, form_with_autocompletetype, |
+ *form_with_autocompletetype.fields.begin(), |
+ PackGUIDs(empty, guid), &response_page_id, &response_data4); |
+ EXPECT_EQ(4, response_page_id); |
+ |
+ ASSERT_EQ(5U, response_data4.fields.size()); |
+ EXPECT_EQ(ASCIIToUTF16("44"), response_data4.fields[0].value); |
+ EXPECT_EQ(ASCIIToUTF16("7700"), response_data4.fields[1].value); |
+ EXPECT_EQ(ASCIIToUTF16("954321"), response_data4.fields[2].value); |
+ EXPECT_EQ(ASCIIToUTF16("954321"), response_data4.fields[3].value); |
+ EXPECT_EQ(base::string16(), response_data4.fields[4].value); |
// We should fill all phone fields with the same phone number variant. |
std::vector<base::string16> phone_variants; |
@@ -2633,28 +2582,27 @@ TEST_F(AutofillManagerTest, FillPhoneNumber) { |
work_profile->SetRawMultiInfo(PHONE_HOME_WHOLE_NUMBER, phone_variants); |
page_id = 5; |
+ response_page_id = 0; |
+ FormData response_data5; |
GUIDPair variant_guid(work_profile->guid(), 1); |
- FillAutofillFormData(page_id, form_with_maxlength, |
- *form_with_maxlength.fields.begin(), |
- PackGUIDs(empty, variant_guid)); |
- page_id = 0; |
- FormData results5; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results5)); |
- EXPECT_EQ(5, page_id); |
+ FillAutofillFormDataAndSaveResults(page_id, form_with_maxlength, |
+ *form_with_maxlength.fields.begin(), |
+ PackGUIDs(empty, variant_guid), &response_page_id, &response_data5); |
+ EXPECT_EQ(5, response_page_id); |
- ASSERT_EQ(5U, results5.fields.size()); |
- EXPECT_EQ(ASCIIToUTF16("1"), results5.fields[0].value); |
- EXPECT_EQ(ASCIIToUTF16("888"), results5.fields[1].value); |
- EXPECT_EQ(ASCIIToUTF16("777"), results5.fields[2].value); |
- EXPECT_EQ(ASCIIToUTF16("1234"), results5.fields[3].value); |
- EXPECT_EQ(base::string16(), results5.fields[4].value); |
+ ASSERT_EQ(5U, response_data5.fields.size()); |
+ EXPECT_EQ(ASCIIToUTF16("1"), response_data5.fields[0].value); |
+ EXPECT_EQ(ASCIIToUTF16("888"), response_data5.fields[1].value); |
+ EXPECT_EQ(ASCIIToUTF16("777"), response_data5.fields[2].value); |
+ EXPECT_EQ(ASCIIToUTF16("1234"), response_data5.fields[3].value); |
+ EXPECT_EQ(base::string16(), response_data5.fields[4].value); |
} |
// Test that we can still fill a form when a field has been removed from it. |
TEST_F(AutofillManagerTest, FormChangesRemoveField) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
// Add a field -- we'll remove it again later. |
FormFieldData field; |
@@ -2669,13 +2617,12 @@ TEST_F(AutofillManagerTest, FormChangesRemoveField) { |
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)); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Test that we can still fill a form when a field has been added to it. |
@@ -2685,7 +2632,7 @@ TEST_F(AutofillManagerTest, FormChangesAddField) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
// Remove the phone field -- we'll add it back later. |
std::vector<FormFieldData>::iterator pos = |
@@ -2701,38 +2648,36 @@ TEST_F(AutofillManagerTest, FormChangesAddField) { |
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)); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
} |
// Test that we are able to save form data when forms are submitted. |
TEST_F(AutofillManagerTest, FormSubmitted) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
// Fill the form. |
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)); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
// Simulate form submission. We should call into the PDM to try to save the |
// filled data. |
EXPECT_CALL(personal_data_, SaveImportedProfile(::testing::_)).Times(1); |
- FormSubmitted(results); |
+ FormSubmitted(response_data); |
} |
// Test that when Autocomplete is enabled and Autofill is disabled, |
@@ -2752,7 +2697,7 @@ TEST_F(AutofillManagerTest, FormSubmittedAutocompleteEnabled) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
form.method = ASCIIToUTF16("GET"); |
MockAutocompleteHistoryManager* m = static_cast< |
MockAutocompleteHistoryManager*>( |
@@ -2774,7 +2719,7 @@ TEST_F(AutofillManagerTest, AutocompleteSuggestionsWhenAutofillDisabled) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
form.method = ASCIIToUTF16("GET"); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -2813,7 +2758,7 @@ TEST_F(AutofillManagerTest, AutocompleteSuggestionsWhenAutofillDisabled) { |
TEST_F(AutofillManagerTest, FormSubmittedServerTypes) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
// Simulate having seen this form on page load. |
// |form_structure| will be owned by |autofill_manager_|. |
@@ -2833,18 +2778,17 @@ TEST_F(AutofillManagerTest, FormSubmittedServerTypes) { |
// Fill the form. |
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)); |
- ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[0], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
+ ExpectFilledAddressFormElvis( |
+ response_page_id, response_data, kDefaultPageID, false); |
// Simulate form submission. We should call into the PDM to try to save the |
// filled data. |
EXPECT_CALL(personal_data_, SaveImportedProfile(::testing::_)).Times(1); |
- FormSubmitted(results); |
+ FormSubmitted(response_data); |
} |
// Test that the form signature for an uploaded form always matches the form |
@@ -2852,7 +2796,7 @@ TEST_F(AutofillManagerTest, FormSubmittedServerTypes) { |
TEST_F(AutofillManagerTest, FormSubmittedWithDifferentFields) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
@@ -2877,7 +2821,7 @@ TEST_F(AutofillManagerTest, FormSubmittedWithDifferentFields) { |
TEST_F(AutofillManagerTest, FormSubmittedWithDefaultValues) { |
// Set up our form data. |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
form.fields[3].value = ASCIIToUTF16("Enter your address"); |
// Convert the state field to a <select> popup, to make sure that we only |
@@ -2892,25 +2836,23 @@ TEST_F(AutofillManagerTest, FormSubmittedWithDefaultValues) { |
// Fill the form. |
GUIDPair guid("00000000-0000-0000-0000-000000000001", 0); |
GUIDPair empty(std::string(), 0); |
- FillAutofillFormData(kDefaultPageID, form, form.fields[3], |
- PackGUIDs(empty, guid)); |
- |
- int page_id = 0; |
- FormData results; |
- EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results)); |
+ int response_page_id = 0; |
+ FormData response_data; |
+ FillAutofillFormDataAndSaveResults(kDefaultPageID, form, form.fields[3], |
+ PackGUIDs(empty, guid), &response_page_id, &response_data); |
// Simulate form submission. We should call into the PDM to try to save the |
// filled data. |
EXPECT_CALL(personal_data_, SaveImportedProfile(::testing::_)).Times(1); |
- FormSubmitted(results); |
+ FormSubmitted(response_data); |
// Set the address field's value back to the default value. |
- results.fields[3].value = ASCIIToUTF16("Enter your address"); |
+ response_data.fields[3].value = ASCIIToUTF16("Enter your address"); |
// Simulate form submission. We should not call into the PDM to try to save |
// the filled data, since the filled form is effectively missing an address. |
EXPECT_CALL(personal_data_, SaveImportedProfile(::testing::_)).Times(0); |
- FormSubmitted(results); |
+ FormSubmitted(response_data); |
} |
// Checks that resetting the auxiliary profile enabled preference does the right |
@@ -3349,7 +3291,7 @@ TEST_F(AutofillManagerTest, TestBubbleShown) { |
autofill_manager_->MarkAsFirstPageInAutocheckoutFlow(); |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
TestFormStructure* form_structure = new TestFormStructure(form); |
AutofillMetrics metrics_logger; // ignored |
@@ -3379,7 +3321,7 @@ TEST_F(AutofillManagerTest, TestAutocheckoutBubbleNotShown) { |
autofill_manager_->MarkAsFirstPageInAutocheckoutFlow(); |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
TestFormStructure* form_structure = new TestFormStructure(form); |
AutofillMetrics metrics_logger; // ignored |
@@ -3407,7 +3349,7 @@ TEST_F(AutofillManagerTest, TestExternalDelegate) { |
autofill_manager_->SetExternalDelegate(&external_delegate); |
FormData form; |
- CreateTestAddressFormData(&form); |
+ test::CreateTestAddressFormData(&form); |
std::vector<FormData> forms(1, form); |
FormsSeen(forms); |
const FormFieldData& field = form.fields[0]; |
@@ -3426,7 +3368,7 @@ TEST_F(AutofillManagerTest, DynamicFormsSeenAndIgnored) { |
FormData user_supplied; |
CreateTestFormWithAutocompleteAttribute(&user_supplied); |
FormData address; |
- CreateTestAddressFormData(&address); |
+ test::CreateTestAddressFormData(&address); |
autofill_manager_->set_autocheckout_url_prefix("test-prefix"); |
// Push address only |