OLD | NEW |
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 2228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2239 TEST_F(AutofillManagerTest, FillAddressFormWithVariantType) { | 2239 TEST_F(AutofillManagerTest, FillAddressFormWithVariantType) { |
2240 // Set up our form data. | 2240 // Set up our form data. |
2241 FormData form; | 2241 FormData form; |
2242 CreateTestAddressFormData(&form); | 2242 CreateTestAddressFormData(&form); |
2243 std::vector<FormData> forms(1, form); | 2243 std::vector<FormData> forms(1, form); |
2244 FormsSeen(forms); | 2244 FormsSeen(forms); |
2245 | 2245 |
2246 // Add a name variant to the Elvis profile. | 2246 // Add a name variant to the Elvis profile. |
2247 AutofillProfile* profile = autofill_manager_->GetProfileWithGUID( | 2247 AutofillProfile* profile = autofill_manager_->GetProfileWithGUID( |
2248 "00000000-0000-0000-0000-000000000001"); | 2248 "00000000-0000-0000-0000-000000000001"); |
2249 const string16 elvis_name = profile->GetInfo(NAME_FULL); | 2249 const string16 elvis_name = profile->GetRawInfo(NAME_FULL); |
2250 | 2250 |
2251 std::vector<string16> name_variants; | 2251 std::vector<string16> name_variants; |
2252 name_variants.push_back(ASCIIToUTF16("Some Other Guy")); | 2252 name_variants.push_back(ASCIIToUTF16("Some Other Guy")); |
2253 name_variants.push_back(elvis_name); | 2253 name_variants.push_back(elvis_name); |
2254 profile->SetMultiInfo(NAME_FULL, name_variants); | 2254 profile->SetMultiInfo(NAME_FULL, name_variants); |
2255 | 2255 |
2256 GUIDPair guid(profile->guid(), 1); | 2256 GUIDPair guid(profile->guid(), 1); |
2257 GUIDPair empty(std::string(), 0); | 2257 GUIDPair empty(std::string(), 0); |
2258 FillAutofillFormData(kDefaultPageID, form, form.fields[0], | 2258 FillAutofillFormData(kDefaultPageID, form, form.fields[0], |
2259 PackGUIDs(empty, guid)); | 2259 PackGUIDs(empty, guid)); |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2327 | 2327 |
2328 std::vector<FormData> forms; | 2328 std::vector<FormData> forms; |
2329 forms.push_back(form_with_maxlength); | 2329 forms.push_back(form_with_maxlength); |
2330 forms.push_back(form_with_autocompletetype); | 2330 forms.push_back(form_with_autocompletetype); |
2331 FormsSeen(forms); | 2331 FormsSeen(forms); |
2332 | 2332 |
2333 // We should be able to fill prefix and suffix fields for US numbers. | 2333 // We should be able to fill prefix and suffix fields for US numbers. |
2334 AutofillProfile* work_profile = autofill_manager_->GetProfileWithGUID( | 2334 AutofillProfile* work_profile = autofill_manager_->GetProfileWithGUID( |
2335 "00000000-0000-0000-0000-000000000002"); | 2335 "00000000-0000-0000-0000-000000000002"); |
2336 ASSERT_TRUE(work_profile != NULL); | 2336 ASSERT_TRUE(work_profile != NULL); |
2337 work_profile->SetInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("16505554567")); | 2337 work_profile->SetRawInfo(PHONE_HOME_WHOLE_NUMBER, |
| 2338 ASCIIToUTF16("16505554567")); |
2338 | 2339 |
2339 GUIDPair guid(work_profile->guid(), 0); | 2340 GUIDPair guid(work_profile->guid(), 0); |
2340 GUIDPair empty(std::string(), 0); | 2341 GUIDPair empty(std::string(), 0); |
2341 | 2342 |
2342 int page_id = 1; | 2343 int page_id = 1; |
2343 FillAutofillFormData(page_id, form_with_maxlength, | 2344 FillAutofillFormData(page_id, form_with_maxlength, |
2344 *form_with_maxlength.fields.begin(), | 2345 *form_with_maxlength.fields.begin(), |
2345 PackGUIDs(empty, guid)); | 2346 PackGUIDs(empty, guid)); |
2346 page_id = 0; | 2347 page_id = 0; |
2347 FormData results1; | 2348 FormData results1; |
(...skipping 18 matching lines...) Expand all Loading... |
2366 | 2367 |
2367 ASSERT_EQ(5U, results2.fields.size()); | 2368 ASSERT_EQ(5U, results2.fields.size()); |
2368 EXPECT_EQ(ASCIIToUTF16("1"), results2.fields[0].value); | 2369 EXPECT_EQ(ASCIIToUTF16("1"), results2.fields[0].value); |
2369 EXPECT_EQ(ASCIIToUTF16("650"), results2.fields[1].value); | 2370 EXPECT_EQ(ASCIIToUTF16("650"), results2.fields[1].value); |
2370 EXPECT_EQ(ASCIIToUTF16("555"), results2.fields[2].value); | 2371 EXPECT_EQ(ASCIIToUTF16("555"), results2.fields[2].value); |
2371 EXPECT_EQ(ASCIIToUTF16("4567"), results2.fields[3].value); | 2372 EXPECT_EQ(ASCIIToUTF16("4567"), results2.fields[3].value); |
2372 EXPECT_EQ(string16(), results2.fields[4].value); | 2373 EXPECT_EQ(string16(), results2.fields[4].value); |
2373 | 2374 |
2374 // We should not be able to fill prefix and suffix fields for international | 2375 // We should not be able to fill prefix and suffix fields for international |
2375 // numbers. | 2376 // numbers. |
2376 work_profile->SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("United Kingdom")); | 2377 work_profile->SetRawInfo(ADDRESS_HOME_COUNTRY, |
2377 work_profile->SetInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("447700954321")); | 2378 ASCIIToUTF16("United Kingdom")); |
| 2379 work_profile->SetRawInfo(PHONE_HOME_WHOLE_NUMBER, |
| 2380 ASCIIToUTF16("447700954321")); |
2378 page_id = 3; | 2381 page_id = 3; |
2379 FillAutofillFormData(page_id, form_with_maxlength, | 2382 FillAutofillFormData(page_id, form_with_maxlength, |
2380 *form_with_maxlength.fields.begin(), | 2383 *form_with_maxlength.fields.begin(), |
2381 PackGUIDs(empty, guid)); | 2384 PackGUIDs(empty, guid)); |
2382 page_id = 0; | 2385 page_id = 0; |
2383 FormData results3; | 2386 FormData results3; |
2384 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results3)); | 2387 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results3)); |
2385 EXPECT_EQ(3, page_id); | 2388 EXPECT_EQ(3, page_id); |
2386 | 2389 |
2387 ASSERT_EQ(5U, results3.fields.size()); | 2390 ASSERT_EQ(5U, results3.fields.size()); |
(...skipping 16 matching lines...) Expand all Loading... |
2404 EXPECT_EQ(ASCIIToUTF16("44"), results4.fields[0].value); | 2407 EXPECT_EQ(ASCIIToUTF16("44"), results4.fields[0].value); |
2405 EXPECT_EQ(ASCIIToUTF16("7700"), results4.fields[1].value); | 2408 EXPECT_EQ(ASCIIToUTF16("7700"), results4.fields[1].value); |
2406 EXPECT_EQ(ASCIIToUTF16("954321"), results4.fields[2].value); | 2409 EXPECT_EQ(ASCIIToUTF16("954321"), results4.fields[2].value); |
2407 EXPECT_EQ(ASCIIToUTF16("954321"), results4.fields[3].value); | 2410 EXPECT_EQ(ASCIIToUTF16("954321"), results4.fields[3].value); |
2408 EXPECT_EQ(string16(), results4.fields[4].value); | 2411 EXPECT_EQ(string16(), results4.fields[4].value); |
2409 | 2412 |
2410 // We should fill all phone fields with the same phone number variant. | 2413 // We should fill all phone fields with the same phone number variant. |
2411 std::vector<string16> phone_variants; | 2414 std::vector<string16> phone_variants; |
2412 phone_variants.push_back(ASCIIToUTF16("16505554567")); | 2415 phone_variants.push_back(ASCIIToUTF16("16505554567")); |
2413 phone_variants.push_back(ASCIIToUTF16("18887771234")); | 2416 phone_variants.push_back(ASCIIToUTF16("18887771234")); |
2414 work_profile->SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("United States")); | 2417 work_profile->SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("United States")); |
2415 work_profile->SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, phone_variants); | 2418 work_profile->SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, phone_variants); |
2416 | 2419 |
2417 page_id = 5; | 2420 page_id = 5; |
2418 GUIDPair variant_guid(work_profile->guid(), 1); | 2421 GUIDPair variant_guid(work_profile->guid(), 1); |
2419 FillAutofillFormData(page_id, form_with_maxlength, | 2422 FillAutofillFormData(page_id, form_with_maxlength, |
2420 *form_with_maxlength.fields.begin(), | 2423 *form_with_maxlength.fields.begin(), |
2421 PackGUIDs(empty, variant_guid)); | 2424 PackGUIDs(empty, variant_guid)); |
2422 page_id = 0; | 2425 page_id = 0; |
2423 FormData results5; | 2426 FormData results5; |
2424 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results5)); | 2427 EXPECT_TRUE(GetAutofillFormDataFilledMessage(&page_id, &results5)); |
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3115 | 3118 |
3116 FormData form; | 3119 FormData form; |
3117 CreateTestAddressFormData(&form); | 3120 CreateTestAddressFormData(&form); |
3118 std::vector<FormData> forms(1, form); | 3121 std::vector<FormData> forms(1, form); |
3119 FormsSeen(forms); | 3122 FormsSeen(forms); |
3120 const FormFieldData& field = form.fields[0]; | 3123 const FormFieldData& field = form.fields[0]; |
3121 GetAutofillSuggestions(form, field); // should call the delegate's OnQuery() | 3124 GetAutofillSuggestions(form, field); // should call the delegate's OnQuery() |
3122 | 3125 |
3123 autofill_manager_->SetExternalDelegate(NULL); | 3126 autofill_manager_->SetExternalDelegate(NULL); |
3124 } | 3127 } |
OLD | NEW |