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

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

Issue 6033010: Support autocompletion for HTMl5 tags:"email", "month" and "tel". (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: unroll tests. Created 9 years, 11 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <vector> 5 #include <vector>
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/ref_counted.h" 8 #include "base/ref_counted.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "base/scoped_vector.h" 10 #include "base/scoped_vector.h"
(...skipping 30 matching lines...) Expand all
41 const int kDefaultPageID = 137; 41 const int kDefaultPageID = 137;
42 42
43 typedef Tuple5<int, 43 typedef Tuple5<int,
44 std::vector<string16>, 44 std::vector<string16>,
45 std::vector<string16>, 45 std::vector<string16>,
46 std::vector<string16>, 46 std::vector<string16>,
47 std::vector<int> > AutoFillParam; 47 std::vector<int> > AutoFillParam;
48 48
49 class TestPersonalDataManager : public PersonalDataManager { 49 class TestPersonalDataManager : public PersonalDataManager {
50 public: 50 public:
51 TestPersonalDataManager() { 51 explicit TestPersonalDataManager(bool four_credit_cards) {
52 CreateTestAutoFillProfiles(&web_profiles_); 52 CreateTestAutoFillProfiles(&web_profiles_);
53 CreateTestCreditCards(&credit_cards_); 53 CreateTestCreditCards(&credit_cards_, four_credit_cards);
54 } 54 }
55 55
56 virtual void InitializeIfNeeded() {} 56 virtual void InitializeIfNeeded() {}
57 virtual void SaveImportedFormData() {} 57 virtual void SaveImportedFormData() {}
58 virtual bool IsDataLoaded() const { return true; } 58 virtual bool IsDataLoaded() const { return true; }
59 59
60 AutoFillProfile* GetLabeledProfile(const char* label) { 60 AutoFillProfile* GetLabeledProfile(const char* label) {
61 for (std::vector<AutoFillProfile *>::iterator it = web_profiles_.begin(); 61 for (std::vector<AutoFillProfile *>::iterator it = web_profiles_.begin();
62 it != web_profiles_.end(); ++it) { 62 it != web_profiles_.end(); ++it) {
63 if (!(*it)->Label().compare(ASCIIToUTF16(label))) 63 if (!(*it)->Label().compare(ASCIIToUTF16(label)))
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 ""); 105 "");
106 profile->set_guid("00000000-0000-0000-0000-000000000002"); 106 profile->set_guid("00000000-0000-0000-0000-000000000002");
107 profiles->push_back(profile); 107 profiles->push_back(profile);
108 profile = new AutoFillProfile; 108 profile = new AutoFillProfile;
109 autofill_test::SetProfileInfo(profile, "Empty", "", "", "", "", "", "", "", 109 autofill_test::SetProfileInfo(profile, "Empty", "", "", "", "", "", "", "",
110 "", "", "", "", "", ""); 110 "", "", "", "", "", "");
111 profile->set_guid("00000000-0000-0000-0000-000000000003"); 111 profile->set_guid("00000000-0000-0000-0000-000000000003");
112 profiles->push_back(profile); 112 profiles->push_back(profile);
113 } 113 }
114 114
115 void CreateTestCreditCards(ScopedVector<CreditCard>* credit_cards) { 115 void CreateTestCreditCards(ScopedVector<CreditCard>* credit_cards,
116 CreditCard* credit_card = new CreditCard; 116 bool four_credit_cards) {
117 autofill_test::SetCreditCardInfo(credit_card, "First", "Elvis Presley", 117 if (!four_credit_cards) {
118 "4234567890123456", // Visa 118 CreditCard* credit_card = new CreditCard;
119 "04", "2012"); 119 autofill_test::SetCreditCardInfo(credit_card, "First", "Elvis Presley",
120 credit_card->set_guid("00000000-0000-0000-0000-000000000004"); 120 "4234567890123456", // Visa
dhollowa 2011/01/07 20:43:39 nit: indentation should be at open paren. And bel
121 credit_cards->push_back(credit_card); 121 "04", "2012");
122 credit_card = new CreditCard; 122 credit_card->set_guid("00000000-0000-0000-0000-000000000004");
123 autofill_test::SetCreditCardInfo(credit_card, "Second", "Buddy Holly", 123 credit_cards->push_back(credit_card);
124 "5187654321098765", // Mastercard 124 credit_card = new CreditCard;
125 "10", "2014"); 125 autofill_test::SetCreditCardInfo(credit_card, "Second", "Buddy Holly",
126 credit_card->set_guid("00000000-0000-0000-0000-000000000005"); 126 "5187654321098765", // Mastercard
127 credit_cards->push_back(credit_card); 127 "10", "2014");
128 credit_card = new CreditCard; 128 credit_card->set_guid("00000000-0000-0000-0000-000000000005");
129 autofill_test::SetCreditCardInfo(credit_card, "Empty", "", "", "", ""); 129 credit_cards->push_back(credit_card);
130 credit_card->set_guid("00000000-0000-0000-0000-000000000006"); 130 credit_card = new CreditCard;
131 credit_cards->push_back(credit_card); 131 autofill_test::SetCreditCardInfo(credit_card, "Empty", "", "", "", "");
132 credit_card->set_guid("00000000-0000-0000-0000-000000000006");
133 credit_cards->push_back(credit_card);
134 } else {
135 // Create four credit cards with year month combination as following,
136 // 1. year empty, month empty
137 CreditCard* credit_card = new CreditCard;
138 autofill_test::SetCreditCardInfo(credit_card, "Miku0",
139 "Miku Hatsune",
140 "4234567890654321", // Visa
141 "", "");
142 credit_card->set_guid("00000000-0000-0000-0000-000000000007");
143 credit_cards->push_back(credit_card);
144 // 2. year empty, month non-empty
145 credit_card = new CreditCard;
146 autofill_test::SetCreditCardInfo(credit_card, "Miku1",
147 "Miku Hatsune",
148 "4234567890654321", // Visa
149 "04", "");
150 credit_card->set_guid("00000000-0000-0000-0000-000000000008");
151 credit_cards->push_back(credit_card);
152 // 3. year non-empty, month empty
153 credit_card = new CreditCard;
154 autofill_test::SetCreditCardInfo(credit_card, "Miku2",
155 "Miku Hatsune",
156 "4234567890654321", // Visa
157 "", "2012");
158 credit_card->set_guid("00000000-0000-0000-0000-000000000009");
159 credit_cards->push_back(credit_card);
160 // 4. both non-empty
161 credit_card = new CreditCard;
162 autofill_test::SetCreditCardInfo(credit_card, "Miku3",
163 "Miku Hatsune",
164 "4234567890654321", // Visa
165 "04", "2012");
166 credit_card->set_guid("00000000-0000-0000-0000-000000000010");
167 credit_cards->push_back(credit_card);
168 }
132 } 169 }
133 170
134 DISALLOW_COPY_AND_ASSIGN(TestPersonalDataManager); 171 DISALLOW_COPY_AND_ASSIGN(TestPersonalDataManager);
135 }; 172 };
136 173
137 // Populates |form| with data corresponding to a simple address form. 174 // Populates |form| with data corresponding to a simple address form.
138 // Note that this actually appends fields to the form data, which can be useful 175 // Note that this actually appends fields to the form data, which can be useful
139 // for building up more complex test forms. 176 // for building up more complex test forms.
140 void CreateTestAddressFormData(FormData* form) { 177 void CreateTestAddressFormData(FormData* form) {
141 form->name = ASCIIToUTF16("MyForm"); 178 form->name = ASCIIToUTF16("MyForm");
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 form->fields.push_back(field); 211 form->fields.push_back(field);
175 autofill_test::CreateTestFormField( 212 autofill_test::CreateTestFormField(
176 "Phone Number", "phonenumber", "", "text", &field); 213 "Phone Number", "phonenumber", "", "text", &field);
177 form->fields.push_back(field); 214 form->fields.push_back(field);
178 autofill_test::CreateTestFormField( 215 autofill_test::CreateTestFormField(
179 "Fax", "fax", "", "text", &field); 216 "Fax", "fax", "", "text", &field);
180 form->fields.push_back(field); 217 form->fields.push_back(field);
181 autofill_test::CreateTestFormField( 218 autofill_test::CreateTestFormField(
182 "Email", "email", "", "text", &field); 219 "Email", "email", "", "text", &field);
183 form->fields.push_back(field); 220 form->fields.push_back(field);
184 } 221 autofill_test::CreateTestFormField(
222 "Email", "email2", "", "email", &field);
223 form->fields.push_back(field);
224 autofill_test::CreateTestFormField(
225 "Phone Number", "phonenumber2", "", "tel", &field);
226 form->fields.push_back(field);
227 }
185 228
186 // Populates |form| with data corresponding to a simple credit card form. 229 // Populates |form| with data corresponding to a simple credit card form.
187 // Note that this actually appends fields to the form data, which can be useful 230 // Note that this actually appends fields to the form data, which can be useful
188 // for building up more complex test forms. 231 // for building up more complex test forms.
189 void CreateTestCreditCardFormData(FormData* form, bool is_https) { 232 void CreateTestCreditCardFormData(FormData* form,
233 bool is_https,
234 bool use_month_type) {
190 form->name = ASCIIToUTF16("MyForm"); 235 form->name = ASCIIToUTF16("MyForm");
191 form->method = ASCIIToUTF16("POST"); 236 form->method = ASCIIToUTF16("POST");
192 if (is_https) { 237 if (is_https) {
193 form->origin = GURL("https://myform.com/form.html"); 238 form->origin = GURL("https://myform.com/form.html");
194 form->action = GURL("https://myform.com/submit.html"); 239 form->action = GURL("https://myform.com/submit.html");
195 } else { 240 } else {
196 form->origin = GURL("http://myform.com/form.html"); 241 form->origin = GURL("http://myform.com/form.html");
197 form->action = GURL("http://myform.com/submit.html"); 242 form->action = GURL("http://myform.com/submit.html");
198 } 243 }
199 form->user_submitted = true; 244 form->user_submitted = true;
200 245
201 FormField field; 246 FormField field;
202 autofill_test::CreateTestFormField( 247 autofill_test::CreateTestFormField(
203 "Name on Card", "nameoncard", "", "text", &field); 248 "Name on Card", "nameoncard", "", "text", &field);
204 form->fields.push_back(field); 249 form->fields.push_back(field);
205 autofill_test::CreateTestFormField( 250 autofill_test::CreateTestFormField(
206 "Card Number", "cardnumber", "", "text", &field); 251 "Card Number", "cardnumber", "", "text", &field);
207 form->fields.push_back(field); 252 form->fields.push_back(field);
208 autofill_test::CreateTestFormField( 253 if (use_month_type) {
209 "Expiration Date", "ccmonth", "", "text", &field); 254 autofill_test::CreateTestFormField(
210 form->fields.push_back(field); 255 "Expiration Date", "ccmonth", "", "month", &field);
211 autofill_test::CreateTestFormField( 256 form->fields.push_back(field);
212 "", "ccyear", "", "text", &field); 257 } else {
213 form->fields.push_back(field); 258 autofill_test::CreateTestFormField(
259 "Expiration Date", "ccmonth", "", "text", &field);
260 form->fields.push_back(field);
261 autofill_test::CreateTestFormField(
262 "", "ccyear", "", "text", &field);
263 form->fields.push_back(field);
264 }
214 } 265 }
215 266
216 void ExpectSuggestions(int page_id, 267 void ExpectSuggestions(int page_id,
217 const std::vector<string16>& values, 268 const std::vector<string16>& values,
218 const std::vector<string16>& labels, 269 const std::vector<string16>& labels,
219 const std::vector<string16>& icons, 270 const std::vector<string16>& icons,
220 const std::vector<int>& unique_ids, 271 const std::vector<int>& unique_ids,
221 int expected_page_id, 272 int expected_page_id,
222 size_t expected_num_suggestions, 273 size_t expected_num_suggestions,
223 const string16 expected_values[], 274 const string16 expected_values[],
(...skipping 10 matching lines...) Expand all
234 EXPECT_EQ(expected_values[i], values[i]); 285 EXPECT_EQ(expected_values[i], values[i]);
235 EXPECT_EQ(expected_labels[i], labels[i]); 286 EXPECT_EQ(expected_labels[i], labels[i]);
236 EXPECT_EQ(expected_icons[i], icons[i]); 287 EXPECT_EQ(expected_icons[i], icons[i]);
237 EXPECT_EQ(expected_unique_ids[i], unique_ids[i]); 288 EXPECT_EQ(expected_unique_ids[i], unique_ids[i]);
238 } 289 }
239 } 290 }
240 291
241 // Verifies that the |filled_form| has been filled with the given data. 292 // Verifies that the |filled_form| has been filled with the given data.
242 // Verifies address fields if |has_address_fields| is true, and verifies 293 // Verifies address fields if |has_address_fields| is true, and verifies
243 // credit card fields if |has_credit_card_fields| is true. Verifies both if both 294 // credit card fields if |has_credit_card_fields| is true. Verifies both if both
244 // are true. 295 // are true. |use_month_type| is used for credit card input month type.
245 void ExpectFilledForm(int page_id, 296 void ExpectFilledForm(int page_id,
246 const FormData& filled_form, 297 const FormData& filled_form,
247 int expected_page_id, 298 int expected_page_id,
248 const char* first, 299 const char* first,
249 const char* middle, 300 const char* middle,
250 const char* last, 301 const char* last,
251 const char* address1, 302 const char* address1,
252 const char* address2, 303 const char* address2,
253 const char* city, 304 const char* city,
254 const char* state, 305 const char* state,
255 const char* postal_code, 306 const char* postal_code,
256 const char* country, 307 const char* country,
257 const char* phone, 308 const char* phone,
258 const char* fax, 309 const char* fax,
259 const char* email, 310 const char* email,
260 const char* name_on_card, 311 const char* name_on_card,
261 const char* card_number, 312 const char* card_number,
262 const char* expiration_month, 313 const char* expiration_month,
263 const char* expiration_year, 314 const char* expiration_year,
264 bool has_address_fields, 315 bool has_address_fields,
265 bool has_credit_card_fields) { 316 bool has_credit_card_fields,
317 int use_month_type) {
266 // The number of fields in the address and credit card forms created above. 318 // The number of fields in the address and credit card forms created above.
267 const size_t kAddressFormSize = 12; 319 const size_t kAddressFormSize = 14;
268 const size_t kCreditCardFormSize = 4; 320 const size_t kCreditCardFormSize = use_month_type ? 3 : 4;
269 321
270 EXPECT_EQ(expected_page_id, page_id); 322 EXPECT_EQ(expected_page_id, page_id);
271 EXPECT_EQ(ASCIIToUTF16("MyForm"), filled_form.name); 323 EXPECT_EQ(ASCIIToUTF16("MyForm"), filled_form.name);
272 EXPECT_EQ(ASCIIToUTF16("POST"), filled_form.method); 324 EXPECT_EQ(ASCIIToUTF16("POST"), filled_form.method);
273 if (has_credit_card_fields) { 325 if (has_credit_card_fields) {
274 EXPECT_EQ(GURL("https://myform.com/form.html"), filled_form.origin); 326 EXPECT_EQ(GURL("https://myform.com/form.html"), filled_form.origin);
275 EXPECT_EQ(GURL("https://myform.com/submit.html"), filled_form.action); 327 EXPECT_EQ(GURL("https://myform.com/submit.html"), filled_form.action);
276 } else { 328 } else {
277 EXPECT_EQ(GURL("http://myform.com/form.html"), filled_form.origin); 329 EXPECT_EQ(GURL("http://myform.com/form.html"), filled_form.origin);
278 EXPECT_EQ(GURL("http://myform.com/submit.html"), filled_form.action); 330 EXPECT_EQ(GURL("http://myform.com/submit.html"), filled_form.action);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[8])); 369 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[8]));
318 autofill_test::CreateTestFormField( 370 autofill_test::CreateTestFormField(
319 "Phone Number", "phonenumber", phone, "text", &field); 371 "Phone Number", "phonenumber", phone, "text", &field);
320 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[9])); 372 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[9]));
321 autofill_test::CreateTestFormField( 373 autofill_test::CreateTestFormField(
322 "Fax", "fax", fax, "text", &field); 374 "Fax", "fax", fax, "text", &field);
323 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[10])); 375 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[10]));
324 autofill_test::CreateTestFormField( 376 autofill_test::CreateTestFormField(
325 "Email", "email", email, "text", &field); 377 "Email", "email", email, "text", &field);
326 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[11])); 378 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[11]));
327 } 379 autofill_test::CreateTestFormField(
380 "Email", "email2", email, "email", &field);
381 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[12]));
382 autofill_test::CreateTestFormField(
383 "Phone Number", "phonenumber2", phone, "tel", &field);
384 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[13]));
385 }
328 386
329 if (has_credit_card_fields) { 387 if (has_credit_card_fields) {
330 size_t offset = has_address_fields? kAddressFormSize : 0; 388 size_t offset = has_address_fields? kAddressFormSize : 0;
331 autofill_test::CreateTestFormField( 389 autofill_test::CreateTestFormField(
332 "Name on Card", "nameoncard", name_on_card, "text", &field); 390 "Name on Card", "nameoncard", name_on_card, "text", &field);
333 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 0])); 391 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 0]));
334 autofill_test::CreateTestFormField( 392 autofill_test::CreateTestFormField(
335 "Card Number", "cardnumber", card_number, "text", &field); 393 "Card Number", "cardnumber", card_number, "text", &field);
336 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 1])); 394 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 1]));
337 autofill_test::CreateTestFormField( 395 if (use_month_type) {
338 "Expiration Date", "ccmonth", expiration_month, "text", &field); 396 std::string exp_year = expiration_year;
339 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 2])); 397 std::string exp_month = expiration_month;
340 autofill_test::CreateTestFormField( 398 std::string year_month;
341 "", "ccyear", expiration_year, "text", &field); 399 if (!exp_year.empty() && !exp_month.empty())
342 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 3])); 400 year_month = exp_year + "-" + exp_month;
401 autofill_test::CreateTestFormField("Expiration Date", "ccmonth",
402 year_month.c_str(), "month", &field);
403 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 2]));
404 } else {
405 autofill_test::CreateTestFormField(
406 "Expiration Date", "ccmonth", expiration_month, "text", &field);
407 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 2]));
408 autofill_test::CreateTestFormField(
409 "", "ccyear", expiration_year, "text", &field);
410 EXPECT_TRUE(field.StrictlyEqualsHack(filled_form.fields[offset + 3]));
411 }
343 } 412 }
344 } 413 }
345 414
346 void ExpectFilledAddressFormElvis(int page_id, 415 void ExpectFilledAddressFormElvis(int page_id,
347 const FormData& filled_form, 416 const FormData& filled_form,
348 int expected_page_id, 417 int expected_page_id,
349 bool has_credit_card_fields) { 418 bool has_credit_card_fields) {
350 ExpectFilledForm(page_id, filled_form, expected_page_id, "Elvis", "Aaron", 419 ExpectFilledForm(page_id, filled_form, expected_page_id, "Elvis", "Aaron",
351 "Presley", "3734 Elvis Presley Blvd.", "Apt. 10", "Memphis", 420 "Presley", "3734 Elvis Presley Blvd.", "Apt. 10", "Memphis",
352 "Tennessee", "38116", "USA", "12345678901", "", 421 "Tennessee", "38116", "USA", "12345678901", "",
353 "theking@gmail.com", "", "", "", "", true, 422 "theking@gmail.com", "", "", "", "", true,
354 has_credit_card_fields); 423 has_credit_card_fields, false);
355 } 424 }
356 425
357 void ExpectFilledCreditCardFormElvis(int page_id, 426 void ExpectFilledCreditCardFormElvis(int page_id,
358 const FormData& filled_form, 427 const FormData& filled_form,
359 int expected_page_id, 428 int expected_page_id,
360 bool has_address_fields) { 429 bool has_address_fields) {
361 ExpectFilledForm(page_id, filled_form, expected_page_id, 430 ExpectFilledForm(page_id, filled_form, expected_page_id,
362 "", "", "", "", "", "", "", "", "", "", "", "", 431 "", "", "", "", "", "", "", "", "", "", "", "",
363 "Elvis Presley", "4234567890123456", "04", "2012", 432 "Elvis Presley", "4234567890123456", "04", "2012",
364 has_address_fields, true); 433 has_address_fields, true, false);
434 }
435
436 void ExpectFilledCreditCardYearMonthWithYearMonth(int page_id,
437 const FormData& filled_form,
438 int expected_page_id,
439 bool has_address_fields,
440 const char* year,
441 const char* month) {
442 ExpectFilledForm(page_id, filled_form, expected_page_id,
443 "", "", "", "", "", "", "", "", "", "", "", "",
444 "Miku Hatsune", "4234567890654321", month, year,
445 has_address_fields, true, true);
365 } 446 }
366 447
367 class TestAutoFillManager : public AutoFillManager { 448 class TestAutoFillManager : public AutoFillManager {
368 public: 449 public:
369 TestAutoFillManager(TabContents* tab_contents, 450 TestAutoFillManager(TabContents* tab_contents,
370 TestPersonalDataManager* personal_manager) 451 TestPersonalDataManager* personal_manager)
371 : AutoFillManager(tab_contents, personal_manager), 452 : AutoFillManager(tab_contents, personal_manager),
372 autofill_enabled_(true) { 453 autofill_enabled_(true) {
373 test_personal_data_ = personal_manager; 454 test_personal_data_ = personal_manager;
374 } 455 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 AutoFillManagerTest() {} 507 AutoFillManagerTest() {}
427 virtual ~AutoFillManagerTest() { 508 virtual ~AutoFillManagerTest() {
428 // Order of destruction is important as AutoFillManager relies on 509 // Order of destruction is important as AutoFillManager relies on
429 // PersonalDataManager to be around when it gets destroyed. 510 // PersonalDataManager to be around when it gets destroyed.
430 autofill_manager_.reset(NULL); 511 autofill_manager_.reset(NULL);
431 test_personal_data_ = NULL; 512 test_personal_data_ = NULL;
432 } 513 }
433 514
434 virtual void SetUp() { 515 virtual void SetUp() {
435 RenderViewHostTestHarness::SetUp(); 516 RenderViewHostTestHarness::SetUp();
436 test_personal_data_ = new TestPersonalDataManager(); 517 test_personal_data_ = new TestPersonalDataManager(false);
437 autofill_manager_.reset(new TestAutoFillManager(contents(), 518 autofill_manager_.reset(new TestAutoFillManager(contents(),
438 test_personal_data_.get())); 519 test_personal_data_.get()));
439 } 520 }
440 521
441 Profile* profile() { return contents()->profile(); } 522 Profile* profile() { return contents()->profile(); }
442 523
443 bool GetAutoFillSuggestionsMessage(int* page_id, 524 bool GetAutoFillSuggestionsMessage(int* page_id,
444 std::vector<string16>* values, 525 std::vector<string16>* values,
445 std::vector<string16>* labels, 526 std::vector<string16>* labels,
446 std::vector<string16>* icons, 527 std::vector<string16>* icons,
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 // Now clear the test profiles and try again -- we shouldn't return a warning. 807 // Now clear the test profiles and try again -- we shouldn't return a warning.
727 test_personal_data_->ClearAutoFillProfiles(); 808 test_personal_data_->ClearAutoFillProfiles();
728 EXPECT_FALSE(autofill_manager_->GetAutoFillSuggestions(form, field)); 809 EXPECT_FALSE(autofill_manager_->GetAutoFillSuggestions(form, field));
729 } 810 }
730 811
731 // Test that we return all credit card profile suggestions when all form fields 812 // Test that we return all credit card profile suggestions when all form fields
732 // are empty. 813 // are empty.
733 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsEmptyValue) { 814 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsEmptyValue) {
734 // Set up our form data. 815 // Set up our form data.
735 FormData form; 816 FormData form;
736 CreateTestCreditCardFormData(&form, true); 817 CreateTestCreditCardFormData(&form, true, false);
737 std::vector<FormData> forms(1, form); 818 std::vector<FormData> forms(1, form);
738 autofill_manager_->FormsSeen(forms); 819 autofill_manager_->FormsSeen(forms);
739 820
740 FormField field = form.fields[1]; 821 FormField field = form.fields[1];
741 rvh()->ResetAutoFillState(kDefaultPageID); 822 rvh()->ResetAutoFillState(kDefaultPageID);
742 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field)); 823 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field));
743 824
744 // No suggestions provided, so send an empty vector as the results. 825 // No suggestions provided, so send an empty vector as the results.
745 // This triggers the combined message send. 826 // This triggers the combined message send.
746 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>()); 827 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>());
(...skipping 23 matching lines...) Expand all
770 ExpectSuggestions(page_id, values, labels, icons, unique_ids, 851 ExpectSuggestions(page_id, values, labels, icons, unique_ids,
771 kDefaultPageID, arraysize(expected_values), expected_values, 852 kDefaultPageID, arraysize(expected_values), expected_values,
772 expected_labels, expected_icons, expected_unique_ids); 853 expected_labels, expected_icons, expected_unique_ids);
773 } 854 }
774 855
775 // Test that we return only matching credit card profile suggestions when the 856 // Test that we return only matching credit card profile suggestions when the
776 // selected form field has been partially filled out. 857 // selected form field has been partially filled out.
777 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsMatchCharacter) { 858 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsMatchCharacter) {
778 // Set up our form data. 859 // Set up our form data.
779 FormData form; 860 FormData form;
780 CreateTestCreditCardFormData(&form, true); 861 CreateTestCreditCardFormData(&form, true, false);
781 std::vector<FormData> forms(1, form); 862 std::vector<FormData> forms(1, form);
782 autofill_manager_->FormsSeen(forms); 863 autofill_manager_->FormsSeen(forms);
783 864
784 FormField field; 865 FormField field;
785 autofill_test::CreateTestFormField( 866 autofill_test::CreateTestFormField(
786 "Card Number", "cardnumber", "4", "text", &field); 867 "Card Number", "cardnumber", "4", "text", &field);
787 rvh()->ResetAutoFillState(kDefaultPageID); 868 rvh()->ResetAutoFillState(kDefaultPageID);
788 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field)); 869 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field));
789 870
790 // No suggestions provided, so send an empty vector as the results. 871 // No suggestions provided, so send an empty vector as the results.
(...skipping 16 matching lines...) Expand all
807 ExpectSuggestions(page_id, values, labels, icons, unique_ids, 888 ExpectSuggestions(page_id, values, labels, icons, unique_ids,
808 kDefaultPageID, arraysize(expected_values), expected_values, 889 kDefaultPageID, arraysize(expected_values), expected_values,
809 expected_labels, expected_icons, expected_unique_ids); 890 expected_labels, expected_icons, expected_unique_ids);
810 } 891 }
811 892
812 // Test that we return credit card profile suggestions when the selected form 893 // Test that we return credit card profile suggestions when the selected form
813 // field is not the credit card number field. 894 // field is not the credit card number field.
814 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsNonCCNumber) { 895 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsNonCCNumber) {
815 // Set up our form data. 896 // Set up our form data.
816 FormData form; 897 FormData form;
817 CreateTestCreditCardFormData(&form, true); 898 CreateTestCreditCardFormData(&form, true, false);
818 std::vector<FormData> forms(1, form); 899 std::vector<FormData> forms(1, form);
819 autofill_manager_->FormsSeen(forms); 900 autofill_manager_->FormsSeen(forms);
820 901
821 const FormField& field = form.fields[0]; 902 const FormField& field = form.fields[0];
822 rvh()->ResetAutoFillState(kDefaultPageID); 903 rvh()->ResetAutoFillState(kDefaultPageID);
823 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field)); 904 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field));
824 905
825 // No suggestions provided, so send an empty vector as the results. 906 // No suggestions provided, so send an empty vector as the results.
826 // This triggers the combined message send. 907 // This triggers the combined message send.
827 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>()); 908 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>());
(...skipping 23 matching lines...) Expand all
851 ExpectSuggestions(page_id, values, labels, icons, unique_ids, 932 ExpectSuggestions(page_id, values, labels, icons, unique_ids,
852 kDefaultPageID, arraysize(expected_values), expected_values, 933 kDefaultPageID, arraysize(expected_values), expected_values,
853 expected_labels, expected_icons, expected_unique_ids); 934 expected_labels, expected_icons, expected_unique_ids);
854 } 935 }
855 936
856 // Test that we return a warning explaining that credit card profile suggestions 937 // Test that we return a warning explaining that credit card profile suggestions
857 // are unavailable when the form is not https. 938 // are unavailable when the form is not https.
858 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsNonHTTPS) { 939 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsNonHTTPS) {
859 // Set up our form data. 940 // Set up our form data.
860 FormData form; 941 FormData form;
861 CreateTestCreditCardFormData(&form, false); 942 CreateTestCreditCardFormData(&form, false, false);
862 std::vector<FormData> forms(1, form); 943 std::vector<FormData> forms(1, form);
863 autofill_manager_->FormsSeen(forms); 944 autofill_manager_->FormsSeen(forms);
864 945
865 const FormField& field = form.fields[0]; 946 const FormField& field = form.fields[0];
866 rvh()->ResetAutoFillState(kDefaultPageID); 947 rvh()->ResetAutoFillState(kDefaultPageID);
867 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field)); 948 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field));
868 949
869 // No suggestions provided, so send an empty vector as the results. 950 // No suggestions provided, so send an empty vector as the results.
870 // This triggers the combined message send. 951 // This triggers the combined message send.
871 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>()); 952 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 // Clear the test credit cards and try again -- we shouldn't return a warning. 999 // Clear the test credit cards and try again -- we shouldn't return a warning.
919 test_personal_data_->ClearCreditCards(); 1000 test_personal_data_->ClearCreditCards();
920 EXPECT_FALSE(autofill_manager_->GetAutoFillSuggestions(form, field)); 1001 EXPECT_FALSE(autofill_manager_->GetAutoFillSuggestions(form, field));
921 } 1002 }
922 1003
923 // Test that we return profile and credit card suggestions for combined forms. 1004 // Test that we return profile and credit card suggestions for combined forms.
924 TEST_F(AutoFillManagerTest, GetAddressAndCreditCardSuggestions) { 1005 TEST_F(AutoFillManagerTest, GetAddressAndCreditCardSuggestions) {
925 // Set up our form data. 1006 // Set up our form data.
926 FormData form; 1007 FormData form;
927 CreateTestAddressFormData(&form); 1008 CreateTestAddressFormData(&form);
928 CreateTestCreditCardFormData(&form, true); 1009 CreateTestCreditCardFormData(&form, true, false);
929 std::vector<FormData> forms(1, form); 1010 std::vector<FormData> forms(1, form);
930 autofill_manager_->FormsSeen(forms); 1011 autofill_manager_->FormsSeen(forms);
931 1012
932 FormField field = form.fields[0]; 1013 FormField field = form.fields[0];
933 rvh()->ResetAutoFillState(kDefaultPageID); 1014 rvh()->ResetAutoFillState(kDefaultPageID);
934 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field)); 1015 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field));
935 1016
936 // No suggestions provided, so send an empty vector as the results. 1017 // No suggestions provided, so send an empty vector as the results.
937 // This triggers the combined message send. 1018 // This triggers the combined message send.
938 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>()); 1019 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 } 1076 }
996 1077
997 // Test that for non-https forms with both address and credit card fields, we 1078 // Test that for non-https forms with both address and credit card fields, we
998 // only return address suggestions. Instead of credit card suggestions, we 1079 // only return address suggestions. Instead of credit card suggestions, we
999 // should return a warning explaining that credit card profile suggestions are 1080 // should return a warning explaining that credit card profile suggestions are
1000 // unavailable when the form is not https. 1081 // unavailable when the form is not https.
1001 TEST_F(AutoFillManagerTest, GetAddressAndCreditCardSuggestionsNonHttps) { 1082 TEST_F(AutoFillManagerTest, GetAddressAndCreditCardSuggestionsNonHttps) {
1002 // Set up our form data. 1083 // Set up our form data.
1003 FormData form; 1084 FormData form;
1004 CreateTestAddressFormData(&form); 1085 CreateTestAddressFormData(&form);
1005 CreateTestCreditCardFormData(&form, false); 1086 CreateTestCreditCardFormData(&form, false, false);
1006 std::vector<FormData> forms(1, form); 1087 std::vector<FormData> forms(1, form);
1007 autofill_manager_->FormsSeen(forms); 1088 autofill_manager_->FormsSeen(forms);
1008 1089
1009 FormField field = form.fields[0]; 1090 FormField field = form.fields[0];
1010 rvh()->ResetAutoFillState(kDefaultPageID); 1091 rvh()->ResetAutoFillState(kDefaultPageID);
1011 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field)); 1092 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(form, field));
1012 1093
1013 // No suggestions provided, so send an empty vector as the results. 1094 // No suggestions provided, so send an empty vector as the results.
1014 // This triggers the combined message send. 1095 // This triggers the combined message send.
1015 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>()); 1096 rvh()->AutocompleteSuggestionsReturned(std::vector<string16>());
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 int page_id = 0; 1342 int page_id = 0;
1262 FormData results; 1343 FormData results;
1263 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); 1344 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1264 ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false); 1345 ExpectFilledAddressFormElvis(page_id, results, kDefaultPageID, false);
1265 } 1346 }
1266 1347
1267 // Test that we correctly fill a credit card form. 1348 // Test that we correctly fill a credit card form.
1268 TEST_F(AutoFillManagerTest, FillCreditCardForm) { 1349 TEST_F(AutoFillManagerTest, FillCreditCardForm) {
1269 // Set up our form data. 1350 // Set up our form data.
1270 FormData form; 1351 FormData form;
1271 CreateTestCreditCardFormData(&form, true); 1352 CreateTestCreditCardFormData(&form, true, false);
1272 std::vector<FormData> forms(1, form); 1353 std::vector<FormData> forms(1, form);
1273 autofill_manager_->FormsSeen(forms); 1354 autofill_manager_->FormsSeen(forms);
1274 1355
1275 std::string guid = autofill_manager_->GetLabeledCreditCard("First")->guid(); 1356 std::string guid = autofill_manager_->GetLabeledCreditCard("First")->guid();
1276 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData( 1357 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1277 kDefaultPageID, form, *form.fields.begin(), 1358 kDefaultPageID, form, *form.fields.begin(),
1278 autofill_manager_->PackGUIDs(guid, std::string()))); 1359 autofill_manager_->PackGUIDs(guid, std::string())));
1279 1360
1280 int page_id = 0; 1361 int page_id = 0;
1281 FormData results; 1362 FormData results;
1282 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); 1363 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1283 ExpectFilledCreditCardFormElvis(page_id, results, kDefaultPageID, false); 1364 ExpectFilledCreditCardFormElvis(page_id, results, kDefaultPageID, false);
1284 } 1365 }
1285 1366
1367 // Test that we correctly fill a credit card form with month input type.
1368 // 1. year empty, month empty
1369 TEST_F(AutoFillManagerTest, FillCreditCardFormNoYearNoMonth) {
1370 // Same as the SetUp(), but generate 4 credit cards with year month
1371 // combination.
1372 RenderViewHostTestHarness::SetUp();
1373 test_personal_data_ = new TestPersonalDataManager(true);
1374 autofill_manager_.reset(new TestAutoFillManager(contents(),
1375 test_personal_data_.get()));
1376 // Set up our form data.
1377 FormData form;
1378 CreateTestCreditCardFormData(&form, true, true);
1379 std::vector<FormData> forms(1, form);
1380 autofill_manager_->FormsSeen(forms);
1381
1382 std::string guid = autofill_manager_->GetLabeledCreditCard("Miku0")->guid();
1383 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1384 kDefaultPageID, form, *form.fields.begin(),
1385 autofill_manager_->PackGUIDs(guid, std::string())));
1386
1387 int page_id = 0;
1388 FormData results;
1389 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1390 ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results,
1391 kDefaultPageID, false, "", "");
1392 }
1393
1394 // Test that we correctly fill a credit card form with month input type.
1395 // 2. year empty, month non-empty
1396 TEST_F(AutoFillManagerTest, FillCreditCardFormNoYearMonth) {
1397 // Same as the SetUp(), but generate 4 credit cards with year month
1398 // combination.
1399 RenderViewHostTestHarness::SetUp();
1400 test_personal_data_ = new TestPersonalDataManager(true);
1401 autofill_manager_.reset(new TestAutoFillManager(contents(),
1402 test_personal_data_.get()));
1403 // Set up our form data.
1404 FormData form;
1405 CreateTestCreditCardFormData(&form, true, true);
1406 std::vector<FormData> forms(1, form);
1407 autofill_manager_->FormsSeen(forms);
1408
1409 std::string guid = autofill_manager_->GetLabeledCreditCard("Miku1")->guid();
1410 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1411 kDefaultPageID, form, *form.fields.begin(),
1412 autofill_manager_->PackGUIDs(guid, std::string())));
1413
1414 int page_id = 0;
1415 FormData results;
1416 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1417 ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results,
1418 kDefaultPageID, false, "", "04");
1419 }
1420
1421 // Test that we correctly fill a credit card form with month input type.
1422 // 3. year non-empty, month empty
1423 TEST_F(AutoFillManagerTest, FillCreditCardFormYearNoMonth) {
1424 // Same as the SetUp(), but generate 4 credit cards with year month
1425 // combination.
1426 RenderViewHostTestHarness::SetUp();
1427 test_personal_data_ = new TestPersonalDataManager(true);
1428 autofill_manager_.reset(new TestAutoFillManager(contents(),
1429 test_personal_data_.get()));
1430 // Set up our form data.
1431 FormData form;
1432 CreateTestCreditCardFormData(&form, true, true);
1433 std::vector<FormData> forms(1, form);
1434 autofill_manager_->FormsSeen(forms);
1435
1436 std::string guid = autofill_manager_->GetLabeledCreditCard("Miku2")->guid();
1437 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1438 kDefaultPageID, form, *form.fields.begin(),
1439 autofill_manager_->PackGUIDs(guid, std::string())));
1440
1441 int page_id = 0;
1442 FormData results;
1443 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1444 ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results,
1445 kDefaultPageID, false, "2012", "");
1446 }
1447
1448 // Test that we correctly fill a credit card form with month input type.
1449 // 4. year non-empty, month empty
1450 TEST_F(AutoFillManagerTest, FillCreditCardFormYearMonth) {
1451 // Same as the SetUp(), but generate 4 credit cards with year month
1452 // combination.
1453 RenderViewHostTestHarness::SetUp();
1454 test_personal_data_ = new TestPersonalDataManager(true);
1455 autofill_manager_.reset(new TestAutoFillManager(contents(),
1456 test_personal_data_.get()));
1457 // Set up our form data.
1458 FormData form;
1459 CreateTestCreditCardFormData(&form, true, true);
1460 std::vector<FormData> forms(1, form);
1461 autofill_manager_->FormsSeen(forms);
1462
1463 std::string guid = autofill_manager_->GetLabeledCreditCard("Miku3")->guid();
1464 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1465 kDefaultPageID, form, *form.fields.begin(),
1466 autofill_manager_->PackGUIDs(guid, std::string())));
1467
1468 int page_id = 0;
1469 FormData results;
1470 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1471 ExpectFilledCreditCardYearMonthWithYearMonth(page_id, results,
1472 kDefaultPageID, false, "2012", "04");
1473 }
1474
1286 // Test that we correctly fill a combined address and credit card form. 1475 // Test that we correctly fill a combined address and credit card form.
1287 TEST_F(AutoFillManagerTest, FillAddressAndCreditCardForm) { 1476 TEST_F(AutoFillManagerTest, FillAddressAndCreditCardForm) {
1288 // Set up our form data. 1477 // Set up our form data.
1289 FormData form; 1478 FormData form;
1290 CreateTestAddressFormData(&form); 1479 CreateTestAddressFormData(&form);
1291 CreateTestCreditCardFormData(&form, true); 1480 CreateTestCreditCardFormData(&form, true, false);
1292 std::vector<FormData> forms(1, form); 1481 std::vector<FormData> forms(1, form);
1293 autofill_manager_->FormsSeen(forms); 1482 autofill_manager_->FormsSeen(forms);
1294 1483
1295 // First fill the address data. 1484 // First fill the address data.
1296 std::string guid = autofill_manager_->GetLabeledProfile("Home")->guid(); 1485 std::string guid = autofill_manager_->GetLabeledProfile("Home")->guid();
1297 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData( 1486 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1298 kDefaultPageID, form, form.fields[0], 1487 kDefaultPageID, form, form.fields[0],
1299 autofill_manager_->PackGUIDs(std::string(), guid))); 1488 autofill_manager_->PackGUIDs(std::string(), guid)));
1300 1489
1301 int page_id = 0; 1490 int page_id = 0;
(...skipping 20 matching lines...) Expand all
1322 } 1511 }
1323 } 1512 }
1324 1513
1325 // Test that we correctly fill a previously auto-filled form. 1514 // Test that we correctly fill a previously auto-filled form.
1326 TEST_F(AutoFillManagerTest, FillAutoFilledForm) { 1515 TEST_F(AutoFillManagerTest, FillAutoFilledForm) {
1327 // Set up our form data. 1516 // Set up our form data.
1328 FormData form; 1517 FormData form;
1329 CreateTestAddressFormData(&form); 1518 CreateTestAddressFormData(&form);
1330 // Mark one of the address fields as autofilled. 1519 // Mark one of the address fields as autofilled.
1331 form.fields[4].set_autofilled(true); 1520 form.fields[4].set_autofilled(true);
1332 CreateTestCreditCardFormData(&form, true); 1521 CreateTestCreditCardFormData(&form, true, false);
1333 std::vector<FormData> forms(1, form); 1522 std::vector<FormData> forms(1, form);
1334 autofill_manager_->FormsSeen(forms); 1523 autofill_manager_->FormsSeen(forms);
1335 1524
1336 // First fill the address data. 1525 // First fill the address data.
1337 std::string guid = autofill_manager_->GetLabeledProfile("Home")->guid(); 1526 std::string guid = autofill_manager_->GetLabeledProfile("Home")->guid();
1338 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData( 1527 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1339 kDefaultPageID, form, *form.fields.begin(), 1528 kDefaultPageID, form, *form.fields.begin(),
1340 autofill_manager_->PackGUIDs(std::string(), guid))); 1529 autofill_manager_->PackGUIDs(std::string(), guid)));
1341 1530
1342 int page_id = 0; 1531 int page_id = 0;
1343 FormData results; 1532 FormData results;
1344 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); 1533 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1345 { 1534 {
1346 SCOPED_TRACE("Address"); 1535 SCOPED_TRACE("Address");
1347 ExpectFilledForm(page_id, results, kDefaultPageID, 1536 ExpectFilledForm(page_id, results, kDefaultPageID,
1348 "Elvis", "", "", "", "", "", "", "", "", "", "", "", 1537 "Elvis", "", "", "", "", "", "", "", "", "", "", "",
1349 "", "", "", "", true, true); 1538 "", "", "", "", true, true, false);
1350 } 1539 }
1351 1540
1352 // Now fill the credit card data. 1541 // Now fill the credit card data.
1353 process()->sink().ClearMessages(); 1542 process()->sink().ClearMessages();
1354 const int kPageID2 = 2; 1543 const int kPageID2 = 2;
1355 guid = autofill_manager_->GetLabeledCreditCard("First")->guid(); 1544 guid = autofill_manager_->GetLabeledCreditCard("First")->guid();
1356 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData( 1545 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1357 kPageID2, form, form.fields.back(), 1546 kPageID2, form, form.fields.back(),
1358 autofill_manager_->PackGUIDs(guid, std::string()))); 1547 autofill_manager_->PackGUIDs(guid, std::string())));
1359 1548
(...skipping 17 matching lines...) Expand all
1377 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData( 1566 EXPECT_TRUE(autofill_manager_->FillAutoFillFormData(
1378 kPageID3, form, *form.fields.rbegin(), 1567 kPageID3, form, *form.fields.rbegin(),
1379 autofill_manager_->PackGUIDs(guid, std::string()))); 1568 autofill_manager_->PackGUIDs(guid, std::string())));
1380 1569
1381 page_id = 0; 1570 page_id = 0;
1382 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); 1571 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results));
1383 { 1572 {
1384 SCOPED_TRACE("Credit card 2"); 1573 SCOPED_TRACE("Credit card 2");
1385 ExpectFilledForm(page_id, results, kPageID3, 1574 ExpectFilledForm(page_id, results, kPageID3,
1386 "", "", "", "", "", "", "", "", "", "", "", "", 1575 "", "", "", "", "", "", "", "", "", "", "", "",
1387 "", "", "", "2012", true, true); 1576 "", "", "", "2012", true, true, false);
1388 } 1577 }
1389 } 1578 }
1390 1579
1391 // Test that we correctly fill a phone number split across multiple fields. 1580 // Test that we correctly fill a phone number split across multiple fields.
1392 TEST_F(AutoFillManagerTest, FillPhoneNumber) { 1581 TEST_F(AutoFillManagerTest, FillPhoneNumber) {
1393 // Set up our form data. 1582 // Set up our form data.
1394 FormData form; 1583 FormData form;
1395 form.name = ASCIIToUTF16("MyPhoneForm"); 1584 form.name = ASCIIToUTF16("MyPhoneForm");
1396 form.method = ASCIIToUTF16("POST"); 1585 form.method = ASCIIToUTF16("POST");
1397 form.origin = GURL("http://myform.com/phone_form.html"); 1586 form.origin = GURL("http://myform.com/phone_form.html");
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1563 ASSERT_FALSE(profile()->GetPrefs()->GetBoolean( 1752 ASSERT_FALSE(profile()->GetPrefs()->GetBoolean(
1564 prefs::kAutoFillAuxiliaryProfilesEnabled)); 1753 prefs::kAutoFillAuxiliaryProfilesEnabled));
1565 profile()->GetPrefs()->SetBoolean( 1754 profile()->GetPrefs()->SetBoolean(
1566 prefs::kAutoFillAuxiliaryProfilesEnabled, true); 1755 prefs::kAutoFillAuxiliaryProfilesEnabled, true);
1567 profile()->GetPrefs()->ClearPref(prefs::kAutoFillAuxiliaryProfilesEnabled); 1756 profile()->GetPrefs()->ClearPref(prefs::kAutoFillAuxiliaryProfilesEnabled);
1568 ASSERT_FALSE(profile()->GetPrefs()->GetBoolean( 1757 ASSERT_FALSE(profile()->GetPrefs()->GetBoolean(
1569 prefs::kAutoFillAuxiliaryProfilesEnabled)); 1758 prefs::kAutoFillAuxiliaryProfilesEnabled));
1570 #endif 1759 #endif
1571 } 1760 }
1572 1761
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698