OLD | NEW |
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 "base/scoped_ptr.h" | 5 #include "base/scoped_ptr.h" |
6 #include "base/string_util.h" | 6 #include "base/string_util.h" |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/autofill/form_structure.h" | 8 #include "chrome/browser/autofill/form_structure.h" |
9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 ASCIIToUTF16("password"), | 192 ASCIIToUTF16("password"), |
193 string16(), | 193 string16(), |
194 ASCIIToUTF16("password"), | 194 ASCIIToUTF16("password"), |
195 0)); | 195 0)); |
196 form.fields.push_back(webkit_glue::FormField(string16(), | 196 form.fields.push_back(webkit_glue::FormField(string16(), |
197 ASCIIToUTF16("Submit"), | 197 ASCIIToUTF16("Submit"), |
198 string16(), | 198 string16(), |
199 ASCIIToUTF16("submit"), | 199 ASCIIToUTF16("submit"), |
200 0)); | 200 0)); |
201 form_structure.reset(new FormStructure(form)); | 201 form_structure.reset(new FormStructure(form)); |
202 EXPECT_FALSE(form_structure->IsAutoFillable()); | 202 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
203 | 203 |
204 // We now have three text fields, but only two auto-fillable fields. | 204 // We now have three text fields, but only two auto-fillable fields. |
205 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), | 205 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), |
206 ASCIIToUTF16("firstname"), | 206 ASCIIToUTF16("firstname"), |
207 string16(), | 207 string16(), |
208 ASCIIToUTF16("text"), | 208 ASCIIToUTF16("text"), |
209 0)); | 209 0)); |
210 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"), | 210 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"), |
211 ASCIIToUTF16("lastname"), | 211 ASCIIToUTF16("lastname"), |
212 string16(), | 212 string16(), |
213 ASCIIToUTF16("text"), | 213 ASCIIToUTF16("text"), |
214 0)); | 214 0)); |
215 form_structure.reset(new FormStructure(form)); | 215 form_structure.reset(new FormStructure(form)); |
216 EXPECT_FALSE(form_structure->IsAutoFillable()); | 216 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
217 | 217 |
218 // We now have three auto-fillable fields. | 218 // We now have three auto-fillable fields. |
219 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Email"), | 219 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Email"), |
220 ASCIIToUTF16("email"), | 220 ASCIIToUTF16("email"), |
221 string16(), | 221 string16(), |
222 ASCIIToUTF16("text"), | 222 ASCIIToUTF16("text"), |
223 0)); | 223 0)); |
224 form_structure.reset(new FormStructure(form)); | 224 form_structure.reset(new FormStructure(form)); |
225 EXPECT_TRUE(form_structure->IsAutoFillable()); | 225 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
226 | 226 |
227 // The method must be 'post'. | 227 // The method must be 'post', though we can intentionally ignore this |
| 228 // criterion for the sake of providing a helpful warning message to the user. |
228 form.method = ASCIIToUTF16("get"); | 229 form.method = ASCIIToUTF16("get"); |
229 form_structure.reset(new FormStructure(form)); | 230 form_structure.reset(new FormStructure(form)); |
230 EXPECT_FALSE(form_structure->IsAutoFillable()); | 231 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
| 232 EXPECT_TRUE(form_structure->IsAutoFillable(false)); |
231 | 233 |
232 // The target cannot include http(s)://*/search... | 234 // The target cannot include http(s)://*/search... |
233 form.method = ASCIIToUTF16("post"); | 235 form.method = ASCIIToUTF16("post"); |
234 form.action = GURL("http://google.com/search?q=hello"); | 236 form.action = GURL("http://google.com/search?q=hello"); |
235 form_structure.reset(new FormStructure(form)); | 237 form_structure.reset(new FormStructure(form)); |
236 EXPECT_FALSE(form_structure->IsAutoFillable()); | 238 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
237 | 239 |
238 // But search can be in the URL. | 240 // But search can be in the URL. |
239 form.action = GURL("http://search.com/?q=hello"); | 241 form.action = GURL("http://search.com/?q=hello"); |
240 form_structure.reset(new FormStructure(form)); | 242 form_structure.reset(new FormStructure(form)); |
241 EXPECT_TRUE(form_structure->IsAutoFillable()); | 243 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
242 } | 244 } |
243 | 245 |
244 TEST(FormStructureTest, HeuristicsContactInfo) { | 246 TEST(FormStructureTest, HeuristicsContactInfo) { |
245 scoped_ptr<FormStructure> form_structure; | 247 scoped_ptr<FormStructure> form_structure; |
246 FormData form; | 248 FormData form; |
247 | 249 |
248 form.method = ASCIIToUTF16("post"); | 250 form.method = ASCIIToUTF16("post"); |
249 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), | 251 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), |
250 ASCIIToUTF16("firstname"), | 252 ASCIIToUTF16("firstname"), |
251 string16(), | 253 string16(), |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 ASCIIToUTF16("zipcode"), | 287 ASCIIToUTF16("zipcode"), |
286 string16(), | 288 string16(), |
287 ASCIIToUTF16("text"), | 289 ASCIIToUTF16("text"), |
288 0)); | 290 0)); |
289 form.fields.push_back(webkit_glue::FormField(string16(), | 291 form.fields.push_back(webkit_glue::FormField(string16(), |
290 ASCIIToUTF16("Submit"), | 292 ASCIIToUTF16("Submit"), |
291 string16(), | 293 string16(), |
292 ASCIIToUTF16("submit"), | 294 ASCIIToUTF16("submit"), |
293 0)); | 295 0)); |
294 form_structure.reset(new FormStructure(form)); | 296 form_structure.reset(new FormStructure(form)); |
295 EXPECT_TRUE(form_structure->IsAutoFillable()); | 297 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
296 | 298 |
297 // Expect the correct number of fields. | 299 // Expect the correct number of fields. |
298 ASSERT_EQ(9U, form_structure->field_count()); | 300 ASSERT_EQ(9U, form_structure->field_count()); |
299 ASSERT_EQ(8U, form_structure->autofill_count()); | 301 ASSERT_EQ(8U, form_structure->autofill_count()); |
300 | 302 |
301 // First name. | 303 // First name. |
302 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 304 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
303 // Last name. | 305 // Last name. |
304 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 306 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
305 // Email. | 307 // Email. |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 ASCIIToUTF16("hidden8"), | 405 ASCIIToUTF16("hidden8"), |
404 string16(), | 406 string16(), |
405 ASCIIToUTF16("hidden"), | 407 ASCIIToUTF16("hidden"), |
406 0)); | 408 0)); |
407 form.fields.push_back(webkit_glue::FormField(string16(), | 409 form.fields.push_back(webkit_glue::FormField(string16(), |
408 ASCIIToUTF16("Submit"), | 410 ASCIIToUTF16("Submit"), |
409 string16(), | 411 string16(), |
410 ASCIIToUTF16("submit"), | 412 ASCIIToUTF16("submit"), |
411 0)); | 413 0)); |
412 form_structure.reset(new FormStructure(form)); | 414 form_structure.reset(new FormStructure(form)); |
413 EXPECT_TRUE(form_structure->IsAutoFillable()); | 415 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
414 | 416 |
415 // Expect the correct number of fields. | 417 // Expect the correct number of fields. |
416 ASSERT_EQ(17U, form_structure->field_count()); | 418 ASSERT_EQ(17U, form_structure->field_count()); |
417 ASSERT_EQ(8U, form_structure->autofill_count()); | 419 ASSERT_EQ(8U, form_structure->autofill_count()); |
418 | 420 |
419 // First name. | 421 // First name. |
420 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 422 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
421 // Last name. | 423 // Last name. |
422 EXPECT_EQ(NAME_LAST, form_structure->field(2)->heuristic_type()); | 424 EXPECT_EQ(NAME_LAST, form_structure->field(2)->heuristic_type()); |
423 // Email. | 425 // Email. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 string16(), | 498 string16(), |
497 ASCIIToUTF16("text"), | 499 ASCIIToUTF16("text"), |
498 0)); | 500 0)); |
499 form.fields.push_back( | 501 form.fields.push_back( |
500 webkit_glue::FormField(string16(), | 502 webkit_glue::FormField(string16(), |
501 ASCIIToUTF16("Submit"), | 503 ASCIIToUTF16("Submit"), |
502 string16(), | 504 string16(), |
503 ASCIIToUTF16("submit"), | 505 ASCIIToUTF16("submit"), |
504 0)); | 506 0)); |
505 form_structure.reset(new FormStructure(form)); | 507 form_structure.reset(new FormStructure(form)); |
506 EXPECT_TRUE(form_structure->IsAutoFillable()); | 508 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
507 ASSERT_EQ(10U, form_structure->field_count()); | 509 ASSERT_EQ(10U, form_structure->field_count()); |
508 ASSERT_EQ(9U, form_structure->autofill_count()); | 510 ASSERT_EQ(9U, form_structure->autofill_count()); |
509 | 511 |
510 // First name. | 512 // First name. |
511 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 513 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
512 // Last name. | 514 // Last name. |
513 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 515 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
514 // Address. | 516 // Address. |
515 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); | 517 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); |
516 // Address. | 518 // Address. |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 ASCIIToUTF16("text"), | 576 ASCIIToUTF16("text"), |
575 0)); | 577 0)); |
576 // TODO(jhawkins): Phone number. | 578 // TODO(jhawkins): Phone number. |
577 form.fields.push_back( | 579 form.fields.push_back( |
578 webkit_glue::FormField(string16(), | 580 webkit_glue::FormField(string16(), |
579 ASCIIToUTF16("Submit"), | 581 ASCIIToUTF16("Submit"), |
580 ASCIIToUTF16("continue"), | 582 ASCIIToUTF16("continue"), |
581 ASCIIToUTF16("submit"), | 583 ASCIIToUTF16("submit"), |
582 0)); | 584 0)); |
583 form_structure.reset(new FormStructure(form)); | 585 form_structure.reset(new FormStructure(form)); |
584 EXPECT_TRUE(form_structure->IsAutoFillable()); | 586 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
585 ASSERT_EQ(7U, form_structure->field_count()); | 587 ASSERT_EQ(7U, form_structure->field_count()); |
586 ASSERT_EQ(6U, form_structure->autofill_count()); | 588 ASSERT_EQ(6U, form_structure->autofill_count()); |
587 | 589 |
588 // Email. | 590 // Email. |
589 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(0)->heuristic_type()); | 591 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(0)->heuristic_type()); |
590 // Full name. | 592 // Full name. |
591 EXPECT_EQ(NAME_FULL, form_structure->field(1)->heuristic_type()); | 593 EXPECT_EQ(NAME_FULL, form_structure->field(1)->heuristic_type()); |
592 // Company | 594 // Company |
593 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); | 595 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); |
594 // Address. | 596 // Address. |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 string16(), | 650 string16(), |
649 string16(), | 651 string16(), |
650 ASCIIToUTF16("text"), | 652 ASCIIToUTF16("text"), |
651 0)); | 653 0)); |
652 form.fields.push_back(webkit_glue::FormField(string16(), | 654 form.fields.push_back(webkit_glue::FormField(string16(), |
653 ASCIIToUTF16("Submit"), | 655 ASCIIToUTF16("Submit"), |
654 string16(), | 656 string16(), |
655 ASCIIToUTF16("submit"), | 657 ASCIIToUTF16("submit"), |
656 0)); | 658 0)); |
657 form_structure.reset(new FormStructure(form)); | 659 form_structure.reset(new FormStructure(form)); |
658 EXPECT_TRUE(form_structure->IsAutoFillable()); | 660 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
659 ASSERT_EQ(9U, form_structure->field_count()); | 661 ASSERT_EQ(9U, form_structure->field_count()); |
660 ASSERT_EQ(8U, form_structure->autofill_count()); | 662 ASSERT_EQ(8U, form_structure->autofill_count()); |
661 | 663 |
662 // First name. | 664 // First name. |
663 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 665 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
664 // Last name. | 666 // Last name. |
665 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 667 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
666 // Email. | 668 // Email. |
667 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(2)->heuristic_type()); | 669 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(2)->heuristic_type()); |
668 // Phone. | 670 // Phone. |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 ASCIIToUTF16("verification"), | 711 ASCIIToUTF16("verification"), |
710 string16(), | 712 string16(), |
711 ASCIIToUTF16("text"), | 713 ASCIIToUTF16("text"), |
712 0)); | 714 0)); |
713 form.fields.push_back(webkit_glue::FormField(string16(), | 715 form.fields.push_back(webkit_glue::FormField(string16(), |
714 ASCIIToUTF16("Submit"), | 716 ASCIIToUTF16("Submit"), |
715 string16(), | 717 string16(), |
716 ASCIIToUTF16("submit"), | 718 ASCIIToUTF16("submit"), |
717 0)); | 719 0)); |
718 form_structure.reset(new FormStructure(form)); | 720 form_structure.reset(new FormStructure(form)); |
719 EXPECT_TRUE(form_structure->IsAutoFillable()); | 721 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
720 ASSERT_EQ(6U, form_structure->field_count()); | 722 ASSERT_EQ(6U, form_structure->field_count()); |
721 ASSERT_EQ(4U, form_structure->autofill_count()); | 723 ASSERT_EQ(4U, form_structure->autofill_count()); |
722 | 724 |
723 // Credit card name. | 725 // Credit card name. |
724 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 726 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
725 // Credit card number. | 727 // Credit card number. |
726 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); | 728 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); |
727 // Credit card expiration month. | 729 // Credit card expiration month. |
728 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); | 730 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); |
729 // Credit card expiration year. | 731 // Credit card expiration year. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
771 ASCIIToUTF16("verification"), | 773 ASCIIToUTF16("verification"), |
772 string16(), | 774 string16(), |
773 ASCIIToUTF16("text"), | 775 ASCIIToUTF16("text"), |
774 0)); | 776 0)); |
775 form.fields.push_back(webkit_glue::FormField(string16(), | 777 form.fields.push_back(webkit_glue::FormField(string16(), |
776 ASCIIToUTF16("Submit"), | 778 ASCIIToUTF16("Submit"), |
777 string16(), | 779 string16(), |
778 ASCIIToUTF16("submit"), | 780 ASCIIToUTF16("submit"), |
779 0)); | 781 0)); |
780 form_structure.reset(new FormStructure(form)); | 782 form_structure.reset(new FormStructure(form)); |
781 EXPECT_TRUE(form_structure->IsAutoFillable()); | 783 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
782 ASSERT_EQ(7U, form_structure->field_count()); | 784 ASSERT_EQ(7U, form_structure->field_count()); |
783 ASSERT_EQ(4U, form_structure->autofill_count()); | 785 ASSERT_EQ(4U, form_structure->autofill_count()); |
784 | 786 |
785 // Credit card name. | 787 // Credit card name. |
786 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 788 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
787 // Credit card type. This is an unknown type but related to the credit card. | 789 // Credit card type. This is an unknown type but related to the credit card. |
788 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); | 790 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); |
789 // Credit card number. | 791 // Credit card number. |
790 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); | 792 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); |
791 // Credit card expiration month. | 793 // Credit card expiration month. |
(...skipping 30 matching lines...) Expand all Loading... |
822 string16(), | 824 string16(), |
823 ASCIIToUTF16("text"), | 825 ASCIIToUTF16("text"), |
824 0)); | 826 0)); |
825 form.fields.push_back( | 827 form.fields.push_back( |
826 webkit_glue::FormField(ASCIIToUTF16("City"), | 828 webkit_glue::FormField(ASCIIToUTF16("City"), |
827 ASCIIToUTF16("city"), | 829 ASCIIToUTF16("city"), |
828 string16(), | 830 string16(), |
829 ASCIIToUTF16("text"), | 831 ASCIIToUTF16("text"), |
830 0)); | 832 0)); |
831 form_structure.reset(new FormStructure(form)); | 833 form_structure.reset(new FormStructure(form)); |
832 EXPECT_TRUE(form_structure->IsAutoFillable()); | 834 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
833 ASSERT_EQ(4U, form_structure->field_count()); | 835 ASSERT_EQ(4U, form_structure->field_count()); |
834 ASSERT_EQ(3U, form_structure->autofill_count()); | 836 ASSERT_EQ(3U, form_structure->autofill_count()); |
835 | 837 |
836 // Address Line 1. | 838 // Address Line 1. |
837 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 839 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
838 // Address Line 2. | 840 // Address Line 2. |
839 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 841 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
840 // Address Line 3. | 842 // Address Line 3. |
841 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); | 843 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); |
842 // City. | 844 // City. |
(...skipping 25 matching lines...) Expand all Loading... |
868 string16(), | 870 string16(), |
869 ASCIIToUTF16("text"), | 871 ASCIIToUTF16("text"), |
870 0)); | 872 0)); |
871 form.fields.push_back( | 873 form.fields.push_back( |
872 webkit_glue::FormField(ASCIIToUTF16("Address Line2"), | 874 webkit_glue::FormField(ASCIIToUTF16("Address Line2"), |
873 ASCIIToUTF16("billing.address.addressLine2"), | 875 ASCIIToUTF16("billing.address.addressLine2"), |
874 string16(), | 876 string16(), |
875 ASCIIToUTF16("text"), | 877 ASCIIToUTF16("text"), |
876 0)); | 878 0)); |
877 form_structure.reset(new FormStructure(form)); | 879 form_structure.reset(new FormStructure(form)); |
878 EXPECT_TRUE(form_structure->IsAutoFillable()); | 880 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
879 ASSERT_EQ(4U, form_structure->field_count()); | 881 ASSERT_EQ(4U, form_structure->field_count()); |
880 ASSERT_EQ(4U, form_structure->autofill_count()); | 882 ASSERT_EQ(4U, form_structure->autofill_count()); |
881 | 883 |
882 // Address Line 1. | 884 // Address Line 1. |
883 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 885 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
884 // Address Line 2. | 886 // Address Line 2. |
885 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 887 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
886 // Address Line 1. | 888 // Address Line 1. |
887 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); | 889 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); |
888 // Address Line 2. | 890 // Address Line 2. |
(...skipping 29 matching lines...) Expand all Loading... |
918 string16(), | 920 string16(), |
919 ASCIIToUTF16("text"), | 921 ASCIIToUTF16("text"), |
920 0)); | 922 0)); |
921 form.fields.push_back( | 923 form.fields.push_back( |
922 webkit_glue::FormField(ASCIIToUTF16("City:"), | 924 webkit_glue::FormField(ASCIIToUTF16("City:"), |
923 ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adct"), | 925 ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adct"), |
924 string16(), | 926 string16(), |
925 ASCIIToUTF16("text"), | 927 ASCIIToUTF16("text"), |
926 0)); | 928 0)); |
927 form_structure.reset(new FormStructure(form)); | 929 form_structure.reset(new FormStructure(form)); |
928 EXPECT_TRUE(form_structure->IsAutoFillable()); | 930 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
929 ASSERT_EQ(4U, form_structure->field_count()); | 931 ASSERT_EQ(4U, form_structure->field_count()); |
930 ASSERT_EQ(3U, form_structure->autofill_count()); | 932 ASSERT_EQ(3U, form_structure->autofill_count()); |
931 | 933 |
932 // Address Line 1. | 934 // Address Line 1. |
933 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 935 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
934 // Suite / Apt. | 936 // Suite / Apt. |
935 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 937 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
936 // Address Line 3. | 938 // Address Line 3. |
937 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); | 939 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); |
938 // City. | 940 // City. |
(...skipping 20 matching lines...) Expand all Loading... |
959 string16(), | 961 string16(), |
960 ASCIIToUTF16("text"), | 962 ASCIIToUTF16("text"), |
961 0)); | 963 0)); |
962 form.fields.push_back( | 964 form.fields.push_back( |
963 webkit_glue::FormField(ASCIIToUTF16("City"), | 965 webkit_glue::FormField(ASCIIToUTF16("City"), |
964 ASCIIToUTF16("city"), | 966 ASCIIToUTF16("city"), |
965 string16(), | 967 string16(), |
966 ASCIIToUTF16("text"), | 968 ASCIIToUTF16("text"), |
967 0)); | 969 0)); |
968 form_structure.reset(new FormStructure(form)); | 970 form_structure.reset(new FormStructure(form)); |
969 EXPECT_TRUE(form_structure->IsAutoFillable()); | 971 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
970 ASSERT_EQ(3U, form_structure->field_count()); | 972 ASSERT_EQ(3U, form_structure->field_count()); |
971 ASSERT_EQ(3U, form_structure->autofill_count()); | 973 ASSERT_EQ(3U, form_structure->autofill_count()); |
972 | 974 |
973 // Address Line 1. | 975 // Address Line 1. |
974 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 976 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
975 // Address Line 2. | 977 // Address Line 2. |
976 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 978 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
977 // City. | 979 // City. |
978 EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(2)->heuristic_type()); | 980 EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(2)->heuristic_type()); |
979 } | 981 } |
(...skipping 15 matching lines...) Expand all Loading... |
995 string16(), | 997 string16(), |
996 ASCIIToUTF16("text"), | 998 ASCIIToUTF16("text"), |
997 0)); | 999 0)); |
998 form.fields.push_back( | 1000 form.fields.push_back( |
999 webkit_glue::FormField(ASCIIToUTF16("State/Province/Region"), | 1001 webkit_glue::FormField(ASCIIToUTF16("State/Province/Region"), |
1000 ASCIIToUTF16("State"), | 1002 ASCIIToUTF16("State"), |
1001 string16(), | 1003 string16(), |
1002 ASCIIToUTF16("text"), | 1004 ASCIIToUTF16("text"), |
1003 0)); | 1005 0)); |
1004 form_structure.reset(new FormStructure(form)); | 1006 form_structure.reset(new FormStructure(form)); |
1005 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1007 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
1006 ASSERT_EQ(3U, form_structure->field_count()); | 1008 ASSERT_EQ(3U, form_structure->field_count()); |
1007 ASSERT_EQ(3U, form_structure->autofill_count()); | 1009 ASSERT_EQ(3U, form_structure->autofill_count()); |
1008 | 1010 |
1009 // Address Line 1. | 1011 // Address Line 1. |
1010 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 1012 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
1011 // Address Line 2. | 1013 // Address Line 2. |
1012 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 1014 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
1013 // State. | 1015 // State. |
1014 EXPECT_EQ(ADDRESS_HOME_STATE, form_structure->field(2)->heuristic_type()); | 1016 EXPECT_EQ(ADDRESS_HOME_STATE, form_structure->field(2)->heuristic_type()); |
1015 } | 1017 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 string16(), | 1082 string16(), |
1081 ASCIIToUTF16("text"), | 1083 ASCIIToUTF16("text"), |
1082 0)); | 1084 0)); |
1083 form.fields.push_back( | 1085 form.fields.push_back( |
1084 webkit_glue::FormField(ASCIIToUTF16("Email Address*:"), | 1086 webkit_glue::FormField(ASCIIToUTF16("Email Address*:"), |
1085 ASCIIToUTF16("email$emailBox"), | 1087 ASCIIToUTF16("email$emailBox"), |
1086 string16(), | 1088 string16(), |
1087 ASCIIToUTF16("text"), | 1089 ASCIIToUTF16("text"), |
1088 0)); | 1090 0)); |
1089 form_structure.reset(new FormStructure(form)); | 1091 form_structure.reset(new FormStructure(form)); |
1090 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1092 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
1091 ASSERT_EQ(11U, form_structure->field_count()); | 1093 ASSERT_EQ(11U, form_structure->field_count()); |
1092 ASSERT_EQ(11U, form_structure->autofill_count()); | 1094 ASSERT_EQ(11U, form_structure->autofill_count()); |
1093 | 1095 |
1094 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 1096 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
1095 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 1097 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
1096 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); | 1098 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); |
1097 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(3)->heuristic_type()); | 1099 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(3)->heuristic_type()); |
1098 EXPECT_EQ(ADDRESS_BILLING_LINE2, form_structure->field(4)->heuristic_type()); | 1100 EXPECT_EQ(ADDRESS_BILLING_LINE2, form_structure->field(4)->heuristic_type()); |
1099 EXPECT_EQ(ADDRESS_BILLING_CITY, form_structure->field(5)->heuristic_type()); | 1101 EXPECT_EQ(ADDRESS_BILLING_CITY, form_structure->field(5)->heuristic_type()); |
1100 EXPECT_EQ(ADDRESS_BILLING_STATE, form_structure->field(6)->heuristic_type()); | 1102 EXPECT_EQ(ADDRESS_BILLING_STATE, form_structure->field(6)->heuristic_type()); |
(...skipping 28 matching lines...) Expand all Loading... |
1129 string16(), | 1131 string16(), |
1130 ASCIIToUTF16("text"), | 1132 ASCIIToUTF16("text"), |
1131 0)); | 1133 0)); |
1132 form.fields.push_back( | 1134 form.fields.push_back( |
1133 webkit_glue::FormField(ASCIIToUTF16("ext.:"), | 1135 webkit_glue::FormField(ASCIIToUTF16("ext.:"), |
1134 ASCIIToUTF16("dayphone4"), | 1136 ASCIIToUTF16("dayphone4"), |
1135 string16(), | 1137 string16(), |
1136 ASCIIToUTF16("text"), | 1138 ASCIIToUTF16("text"), |
1137 0)); | 1139 0)); |
1138 form_structure.reset(new FormStructure(form)); | 1140 form_structure.reset(new FormStructure(form)); |
1139 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1141 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
1140 ASSERT_EQ(4U, form_structure->field_count()); | 1142 ASSERT_EQ(4U, form_structure->field_count()); |
1141 ASSERT_EQ(3U, form_structure->autofill_count()); | 1143 ASSERT_EQ(3U, form_structure->autofill_count()); |
1142 | 1144 |
1143 // Area code. | 1145 // Area code. |
1144 EXPECT_EQ(PHONE_HOME_CITY_CODE, form_structure->field(0)->heuristic_type()); | 1146 EXPECT_EQ(PHONE_HOME_CITY_CODE, form_structure->field(0)->heuristic_type()); |
1145 // Phone number suffix. | 1147 // Phone number suffix. |
1146 EXPECT_EQ(PHONE_HOME_NUMBER, | 1148 EXPECT_EQ(PHONE_HOME_NUMBER, |
1147 form_structure->field(1)->heuristic_type()); | 1149 form_structure->field(1)->heuristic_type()); |
1148 // Phone number suffix. | 1150 // Phone number suffix. |
1149 EXPECT_EQ(PHONE_HOME_NUMBER, | 1151 EXPECT_EQ(PHONE_HOME_NUMBER, |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1200 ASCIIToUTF16("state"), | 1202 ASCIIToUTF16("state"), |
1201 string16(), | 1203 string16(), |
1202 ASCIIToUTF16("hidden"), | 1204 ASCIIToUTF16("hidden"), |
1203 0)); | 1205 0)); |
1204 form.fields.push_back(webkit_glue::FormField(string16(), | 1206 form.fields.push_back(webkit_glue::FormField(string16(), |
1205 ASCIIToUTF16("Submit"), | 1207 ASCIIToUTF16("Submit"), |
1206 string16(), | 1208 string16(), |
1207 ASCIIToUTF16("submit"), | 1209 ASCIIToUTF16("submit"), |
1208 0)); | 1210 0)); |
1209 form_structure.reset(new FormStructure(form)); | 1211 form_structure.reset(new FormStructure(form)); |
1210 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1212 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
1211 | 1213 |
1212 // Expect the correct number of fields. | 1214 // Expect the correct number of fields. |
1213 ASSERT_EQ(10U, form_structure->field_count()); | 1215 ASSERT_EQ(10U, form_structure->field_count()); |
1214 ASSERT_EQ(6U, form_structure->autofill_count()); | 1216 ASSERT_EQ(6U, form_structure->autofill_count()); |
1215 | 1217 |
1216 // First name. | 1218 // First name. |
1217 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 1219 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
1218 // Last name. | 1220 // Last name. |
1219 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 1221 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
1220 // Email. | 1222 // Email. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1259 ASCIIToUTF16("expiration_month"), | 1261 ASCIIToUTF16("expiration_month"), |
1260 string16(), | 1262 string16(), |
1261 ASCIIToUTF16("text"), | 1263 ASCIIToUTF16("text"), |
1262 0)); | 1264 0)); |
1263 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Year"), | 1265 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Year"), |
1264 ASCIIToUTF16("expiration_year"), | 1266 ASCIIToUTF16("expiration_year"), |
1265 string16(), | 1267 string16(), |
1266 ASCIIToUTF16("text"), | 1268 ASCIIToUTF16("text"), |
1267 0)); | 1269 0)); |
1268 form_structure.reset(new FormStructure(form)); | 1270 form_structure.reset(new FormStructure(form)); |
1269 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1271 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
1270 | 1272 |
1271 // Expect the correct number of fields. | 1273 // Expect the correct number of fields. |
1272 ASSERT_EQ(5U, form_structure->field_count()); | 1274 ASSERT_EQ(5U, form_structure->field_count()); |
1273 ASSERT_EQ(5U, form_structure->autofill_count()); | 1275 ASSERT_EQ(5U, form_structure->autofill_count()); |
1274 | 1276 |
1275 // Name on Card. | 1277 // Name on Card. |
1276 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 1278 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
1277 // Address. | 1279 // Address. |
1278 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(1)->heuristic_type()); | 1280 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(1)->heuristic_type()); |
1279 // Card Number. | 1281 // Card Number. |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1539 } | 1541 } |
1540 form_structure.reset(new FormStructure(form)); | 1542 form_structure.reset(new FormStructure(form)); |
1541 ASSERT_EQ(form_structure->field_count(), possible_field_types.size()); | 1543 ASSERT_EQ(form_structure->field_count(), possible_field_types.size()); |
1542 for (size_t i = 0; i < form_structure->field_count(); ++i) | 1544 for (size_t i = 0; i < form_structure->field_count(); ++i) |
1543 form_structure->set_possible_types(i, possible_field_types[i]); | 1545 form_structure->set_possible_types(i, possible_field_types[i]); |
1544 EXPECT_FALSE(form_structure->EncodeUploadRequest(false, &encoded_xml)); | 1546 EXPECT_FALSE(form_structure->EncodeUploadRequest(false, &encoded_xml)); |
1545 EXPECT_EQ(encoded_xml, ""); | 1547 EXPECT_EQ(encoded_xml, ""); |
1546 } | 1548 } |
1547 | 1549 |
1548 } // namespace | 1550 } // namespace |
OLD | NEW |