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 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 ASCIIToUTF16("text"), | 608 ASCIIToUTF16("text"), |
609 0)); | 609 0)); |
610 form.fields.push_back(webkit_glue::FormField(string16(), | 610 form.fields.push_back(webkit_glue::FormField(string16(), |
611 ASCIIToUTF16("Submit"), | 611 ASCIIToUTF16("Submit"), |
612 string16(), | 612 string16(), |
613 ASCIIToUTF16("submit"), | 613 ASCIIToUTF16("submit"), |
614 0)); | 614 0)); |
615 form_structure.reset(new FormStructure(form)); | 615 form_structure.reset(new FormStructure(form)); |
616 EXPECT_TRUE(form_structure->IsAutoFillable()); | 616 EXPECT_TRUE(form_structure->IsAutoFillable()); |
617 ASSERT_EQ(6U, form_structure->field_count()); | 617 ASSERT_EQ(6U, form_structure->field_count()); |
618 ASSERT_EQ(5U, form_structure->autofill_count()); | 618 ASSERT_EQ(4U, form_structure->autofill_count()); |
619 | 619 |
620 // Credit card name. | 620 // Credit card name. |
621 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 621 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
622 // Credit card number. | 622 // Credit card number. |
623 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); | 623 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); |
624 // Credit card expiration month. | 624 // Credit card expiration month. |
625 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); | 625 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); |
626 // Credit card expiration year. | 626 // Credit card expiration year. |
627 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 627 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
628 form_structure->field(3)->heuristic_type()); | 628 form_structure->field(3)->heuristic_type()); |
629 // Credit card cvc. | 629 // We don't determine CVV. |
630 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, | 630 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(4)->heuristic_type()); |
631 form_structure->field(4)->heuristic_type()); | |
632 // Submit. | 631 // Submit. |
633 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(5)->heuristic_type()); | 632 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(5)->heuristic_type()); |
634 } | 633 } |
635 | 634 |
636 TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) { | 635 TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) { |
637 scoped_ptr<FormStructure> form_structure; | 636 scoped_ptr<FormStructure> form_structure; |
638 FormData form; | 637 FormData form; |
639 | 638 |
640 form.method = ASCIIToUTF16("post"); | 639 form.method = ASCIIToUTF16("post"); |
641 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Name on Card"), | 640 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Name on Card"), |
(...skipping 29 matching lines...) Expand all Loading... |
671 ASCIIToUTF16("text"), | 670 ASCIIToUTF16("text"), |
672 0)); | 671 0)); |
673 form.fields.push_back(webkit_glue::FormField(string16(), | 672 form.fields.push_back(webkit_glue::FormField(string16(), |
674 ASCIIToUTF16("Submit"), | 673 ASCIIToUTF16("Submit"), |
675 string16(), | 674 string16(), |
676 ASCIIToUTF16("submit"), | 675 ASCIIToUTF16("submit"), |
677 0)); | 676 0)); |
678 form_structure.reset(new FormStructure(form)); | 677 form_structure.reset(new FormStructure(form)); |
679 EXPECT_TRUE(form_structure->IsAutoFillable()); | 678 EXPECT_TRUE(form_structure->IsAutoFillable()); |
680 ASSERT_EQ(7U, form_structure->field_count()); | 679 ASSERT_EQ(7U, form_structure->field_count()); |
681 ASSERT_EQ(5U, form_structure->autofill_count()); | 680 ASSERT_EQ(4U, form_structure->autofill_count()); |
682 | 681 |
683 // Credit card name. | 682 // Credit card name. |
684 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 683 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
685 // Credit card type. This is an unknown type but related to the credit card. | 684 // Credit card type. This is an unknown type but related to the credit card. |
686 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); | 685 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); |
687 // Credit card number. | 686 // Credit card number. |
688 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); | 687 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); |
689 // Credit card expiration month. | 688 // Credit card expiration month. |
690 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); | 689 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); |
691 // Credit card expiration year. | 690 // Credit card expiration year. |
692 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, | 691 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, |
693 form_structure->field(4)->heuristic_type()); | 692 form_structure->field(4)->heuristic_type()); |
694 // Credit card cvc. | 693 // We don't determine CVV. |
695 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, | 694 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(5)->heuristic_type()); |
696 form_structure->field(5)->heuristic_type()); | |
697 // Submit. | 695 // Submit. |
698 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(6)->heuristic_type()); | 696 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(6)->heuristic_type()); |
699 } | 697 } |
700 | 698 |
701 TEST(FormStructureTest, ThreeAddressLines) { | 699 TEST(FormStructureTest, ThreeAddressLines) { |
702 scoped_ptr<FormStructure> form_structure; | 700 scoped_ptr<FormStructure> form_structure; |
703 FormData form; | 701 FormData form; |
704 | 702 |
705 form.method = ASCIIToUTF16("post"); | 703 form.method = ASCIIToUTF16("post"); |
706 form.fields.push_back( | 704 form.fields.push_back( |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
912 EXPECT_EQ(PHONE_HOME_NUMBER, | 910 EXPECT_EQ(PHONE_HOME_NUMBER, |
913 form_structure->field(1)->heuristic_type()); | 911 form_structure->field(1)->heuristic_type()); |
914 // Phone number suffix. | 912 // Phone number suffix. |
915 EXPECT_EQ(PHONE_HOME_NUMBER, | 913 EXPECT_EQ(PHONE_HOME_NUMBER, |
916 form_structure->field(2)->heuristic_type()); | 914 form_structure->field(2)->heuristic_type()); |
917 // Unknown. | 915 // Unknown. |
918 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(3)->heuristic_type()); | 916 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(3)->heuristic_type()); |
919 } | 917 } |
920 | 918 |
921 } // namespace | 919 } // namespace |
OLD | NEW |