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

Side by Side Diff: components/autofill/core/browser/form_structure_unittest.cc

Issue 1694443004: [Autofill] Add credit card first and last name heuristics predictions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Patch2 Created 4 years, 10 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/autofill/core/browser/form_structure.h" 5 #include "components/autofill/core/browser/form_structure.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 1193 matching lines...) Expand 10 before | Expand all | Expand 10 after
1204 field.form_control_type = "submit"; 1204 field.form_control_type = "submit";
1205 form.fields.push_back(field); 1205 form.fields.push_back(field);
1206 1206
1207 form_structure.reset(new FormStructure(form)); 1207 form_structure.reset(new FormStructure(form));
1208 form_structure->DetermineHeuristicTypes(); 1208 form_structure->DetermineHeuristicTypes();
1209 EXPECT_TRUE(form_structure->IsAutofillable()); 1209 EXPECT_TRUE(form_structure->IsAutofillable());
1210 ASSERT_EQ(6U, form_structure->field_count()); 1210 ASSERT_EQ(6U, form_structure->field_count());
1211 ASSERT_EQ(5U, form_structure->autofill_count()); 1211 ASSERT_EQ(5U, form_structure->autofill_count());
1212 1212
1213 // Credit card name. 1213 // Credit card name.
1214 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); 1214 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type());
1215 // Credit card number. 1215 // Credit card number.
1216 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); 1216 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type());
1217 // Credit card expiration month. 1217 // Credit card expiration month.
1218 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); 1218 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type());
1219 // Credit card expiration year. 1219 // Credit card expiration year.
1220 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1220 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1221 form_structure->field(3)->heuristic_type()); 1221 form_structure->field(3)->heuristic_type());
1222 // CVV. 1222 // CVV.
1223 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, 1223 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE,
1224 form_structure->field(4)->heuristic_type()); 1224 form_structure->field(4)->heuristic_type());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 field.form_control_type = "submit"; 1264 field.form_control_type = "submit";
1265 form.fields.push_back(field); 1265 form.fields.push_back(field);
1266 1266
1267 form_structure.reset(new FormStructure(form)); 1267 form_structure.reset(new FormStructure(form));
1268 form_structure->DetermineHeuristicTypes(); 1268 form_structure->DetermineHeuristicTypes();
1269 EXPECT_TRUE(form_structure->IsAutofillable()); 1269 EXPECT_TRUE(form_structure->IsAutofillable());
1270 ASSERT_EQ(7U, form_structure->field_count()); 1270 ASSERT_EQ(7U, form_structure->field_count());
1271 ASSERT_EQ(5U, form_structure->autofill_count()); 1271 ASSERT_EQ(5U, form_structure->autofill_count());
1272 1272
1273 // Credit card name. 1273 // Credit card name.
1274 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); 1274 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type());
1275 // Credit card type. This is an unknown type but related to the credit card. 1275 // Credit card type. This is an unknown type but related to the credit card.
1276 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); 1276 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type());
1277 // Credit card number. 1277 // Credit card number.
1278 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); 1278 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type());
1279 // Credit card expiration month. 1279 // Credit card expiration month.
1280 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); 1280 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1281 // Credit card expiration year. 1281 // Credit card expiration year.
1282 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1282 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1283 form_structure->field(4)->heuristic_type()); 1283 form_structure->field(4)->heuristic_type());
1284 // CVV. 1284 // CVV.
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1627 1627
1628 form_structure.reset(new FormStructure(form)); 1628 form_structure.reset(new FormStructure(form));
1629 form_structure->DetermineHeuristicTypes(); 1629 form_structure->DetermineHeuristicTypes();
1630 EXPECT_TRUE(form_structure->IsAutofillable()); 1630 EXPECT_TRUE(form_structure->IsAutofillable());
1631 1631
1632 // Expect the correct number of fields. 1632 // Expect the correct number of fields.
1633 ASSERT_EQ(5U, form_structure->field_count()); 1633 ASSERT_EQ(5U, form_structure->field_count());
1634 EXPECT_EQ(5U, form_structure->autofill_count()); 1634 EXPECT_EQ(5U, form_structure->autofill_count());
1635 1635
1636 // Name on Card. 1636 // Name on Card.
1637 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); 1637 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type());
1638 // Address. 1638 // Address.
1639 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(1)->heuristic_type()); 1639 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(1)->heuristic_type());
1640 // Card Number. 1640 // Card Number.
1641 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); 1641 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type());
1642 // Expiration Date. 1642 // Expiration Date.
1643 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); 1643 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1644 // Expiration Year. 1644 // Expiration Year.
1645 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1645 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1646 form_structure->field(4)->heuristic_type()); 1646 form_structure->field(4)->heuristic_type());
1647 } 1647 }
1648 1648
1649 TEST_F(FormStructureTest, CVCCodeClash) { 1649 // Tests that the heuristics detect split credit card names if they appear in
1650 // the middle of the form.
1651 TEST_F(FormStructureTest, HeuristicsInferCCNames_NamesNotFirst) {
1650 scoped_ptr<FormStructure> form_structure; 1652 scoped_ptr<FormStructure> form_structure;
1651 FormData form; 1653 FormData form;
1652 1654
1653 FormFieldData field; 1655 FormFieldData field;
1654 field.form_control_type = "text"; 1656 field.form_control_type = "text";
1655 1657
1656 field.label = ASCIIToUTF16("Card number"); 1658 field.label = ASCIIToUTF16("Card number");
1657 field.name = ASCIIToUTF16("ccnumber"); 1659 field.name = ASCIIToUTF16("ccnumber");
1658 form.fields.push_back(field); 1660 form.fields.push_back(field);
1659 1661
(...skipping 16 matching lines...) Expand all
1676 field.label = ASCIIToUTF16("cvc number"); 1678 field.label = ASCIIToUTF16("cvc number");
1677 field.name = ASCIIToUTF16("csc"); 1679 field.name = ASCIIToUTF16("csc");
1678 form.fields.push_back(field); 1680 form.fields.push_back(field);
1679 1681
1680 form_structure.reset(new FormStructure(form)); 1682 form_structure.reset(new FormStructure(form));
1681 form_structure->DetermineHeuristicTypes(); 1683 form_structure->DetermineHeuristicTypes();
1682 EXPECT_TRUE(form_structure->IsAutofillable()); 1684 EXPECT_TRUE(form_structure->IsAutofillable());
1683 1685
1684 // Expect the correct number of fields. 1686 // Expect the correct number of fields.
1685 ASSERT_EQ(6U, form_structure->field_count()); 1687 ASSERT_EQ(6U, form_structure->field_count());
1686 ASSERT_EQ(5U, form_structure->autofill_count()); 1688 ASSERT_EQ(6U, form_structure->autofill_count());
1687 1689
1688 // Card Number. 1690 // Card Number.
1689 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(0)->heuristic_type()); 1691 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(0)->heuristic_type());
1690 // First name, taken as name on card. 1692 // First name.
1691 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(1)->heuristic_type()); 1693 EXPECT_EQ(CREDIT_CARD_NAME_FIRST, form_structure->field(1)->heuristic_type());
1692 // Last name is not merged. 1694 // Last name.
1693 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); 1695 EXPECT_EQ(CREDIT_CARD_NAME_LAST, form_structure->field(2)->heuristic_type());
1694 // Expiration Date. 1696 // Expiration Date.
1695 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); 1697 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1696 // Expiration Year. 1698 // Expiration Year.
1699 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1700 form_structure->field(4)->heuristic_type());
1701 // CVC code.
1702 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE,
1703 form_structure->field(5)->heuristic_type());
1704 }
1705
1706 // Tests that the heuristics detect split credit card names if they appear at
1707 // the beginning of the form. The first name has to contains some credit card
1708 // keyword.
1709 TEST_F(FormStructureTest, HeuristicsInferCCNames_NamesFirst) {
1710 scoped_ptr<FormStructure> form_structure;
1711 FormData form;
1712
1713 FormFieldData field;
1714 field.form_control_type = "text";
1715
1716 field.label = ASCIIToUTF16("Cardholder Name");
1717 field.name = ASCIIToUTF16("cc_first_name");
1718 form.fields.push_back(field);
1719
1720 field.label = ASCIIToUTF16("Last name");
1721 field.name = ASCIIToUTF16("last_name");
1722 form.fields.push_back(field);
1723
1724 field.label = ASCIIToUTF16("Card number");
1725 field.name = ASCIIToUTF16("ccnumber");
1726 form.fields.push_back(field);
1727
1728 field.label = ASCIIToUTF16("Expiration date");
1729 field.name = ASCIIToUTF16("ccexpiresmonth");
1730 form.fields.push_back(field);
1731
1732 field.label = base::string16();
1733 field.name = ASCIIToUTF16("ccexpiresyear");
1734 form.fields.push_back(field);
1735
1736 field.label = ASCIIToUTF16("cvc number");
1737 field.name = ASCIIToUTF16("csc");
1738 form.fields.push_back(field);
1739
1740 form_structure.reset(new FormStructure(form));
1741 form_structure->DetermineHeuristicTypes();
1742 EXPECT_TRUE(form_structure->IsAutofillable());
1743
1744 // Expect the correct number of fields.
1745 ASSERT_EQ(6U, form_structure->field_count());
1746 ASSERT_EQ(6U, form_structure->autofill_count());
1747
1748 // First name.
1749 EXPECT_EQ(CREDIT_CARD_NAME_FIRST, form_structure->field(0)->heuristic_type());
1750 // Last name.
1751 EXPECT_EQ(CREDIT_CARD_NAME_LAST, form_structure->field(1)->heuristic_type());
1752 // Card Number.
1753 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type());
1754 // Expiration Date.
1755 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1756 // Expiration Year.
1697 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1757 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1698 form_structure->field(4)->heuristic_type()); 1758 form_structure->field(4)->heuristic_type());
1699 // CVC code. 1759 // CVC code.
1700 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, 1760 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE,
1701 form_structure->field(5)->heuristic_type()); 1761 form_structure->field(5)->heuristic_type());
1702 } 1762 }
1703 1763
1704 TEST_F(FormStructureTest, EncodeQueryRequest) { 1764 TEST_F(FormStructureTest, EncodeQueryRequest) {
1705 FormData form; 1765 FormData form;
1706 1766
(...skipping 961 matching lines...) Expand 10 before | Expand all | Expand 10 after
2668 EXPECT_TRUE(form_structure.EncodeUploadRequest( 2728 EXPECT_TRUE(form_structure.EncodeUploadRequest(
2669 available_field_types, false, std::string(), true, &encoded_upload3)); 2729 available_field_types, false, std::string(), true, &encoded_upload3));
2670 2730
2671 encoded_upload3.SerializeToString(&encoded_upload_string); 2731 encoded_upload3.SerializeToString(&encoded_upload_string);
2672 EXPECT_EQ(expected_upload_string, encoded_upload_string); 2732 EXPECT_EQ(expected_upload_string, encoded_upload_string);
2673 2733
2674 // All supported credit card types available. 2734 // All supported credit card types available.
2675 // datapresent should be "0000000000001fc0" == trimmmed(0x0000000000001fc0) == 2735 // datapresent should be "0000000000001fc0" == trimmmed(0x0000000000001fc0) ==
2676 // 0b0000000000000000000000000000000000000000000000000001111111000000 2736 // 0b0000000000000000000000000000000000000000000000000001111111000000
2677 // The set bits are: 2737 // The set bits are:
2678 // 51 == CREDIT_CARD_NAME 2738 // 51 == CREDIT_CARD_NAME_FULL
2679 // 52 == CREDIT_CARD_NUMBER 2739 // 52 == CREDIT_CARD_NUMBER
2680 // 53 == CREDIT_CARD_EXP_MONTH 2740 // 53 == CREDIT_CARD_EXP_MONTH
2681 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR 2741 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR
2682 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR 2742 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR
2683 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR 2743 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR
2684 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR 2744 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR
2685 available_field_types.clear(); 2745 available_field_types.clear();
2686 available_field_types.insert(CREDIT_CARD_NAME); 2746 available_field_types.insert(CREDIT_CARD_NAME_FULL);
2687 available_field_types.insert(CREDIT_CARD_NUMBER); 2747 available_field_types.insert(CREDIT_CARD_NUMBER);
2688 available_field_types.insert(CREDIT_CARD_EXP_MONTH); 2748 available_field_types.insert(CREDIT_CARD_EXP_MONTH);
2689 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); 2749 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR);
2690 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); 2750 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR);
2691 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); 2751 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR);
2692 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); 2752 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR);
2693 2753
2694 // Adjust the expected proto string. 2754 // Adjust the expected proto string.
2695 upload.set_data_present("0000000000001fc0"); 2755 upload.set_data_present("0000000000001fc0");
2696 ASSERT_TRUE(upload.SerializeToString(&expected_upload_string)); 2756 ASSERT_TRUE(upload.SerializeToString(&expected_upload_string));
(...skipping 19 matching lines...) Expand all
2716 // 11 == PHONE_HOME_CITY_CODE, 2776 // 11 == PHONE_HOME_CITY_CODE,
2717 // 12 == PHONE_HOME_COUNTRY_CODE, 2777 // 12 == PHONE_HOME_COUNTRY_CODE,
2718 // 13 == PHONE_HOME_CITY_AND_NUMBER, 2778 // 13 == PHONE_HOME_CITY_AND_NUMBER,
2719 // 14 == PHONE_HOME_WHOLE_NUMBER, 2779 // 14 == PHONE_HOME_WHOLE_NUMBER,
2720 // 30 == ADDRESS_HOME_LINE1 2780 // 30 == ADDRESS_HOME_LINE1
2721 // 31 == ADDRESS_HOME_LINE2 2781 // 31 == ADDRESS_HOME_LINE2
2722 // 33 == ADDRESS_HOME_CITY 2782 // 33 == ADDRESS_HOME_CITY
2723 // 34 == ADDRESS_HOME_STATE 2783 // 34 == ADDRESS_HOME_STATE
2724 // 35 == ADDRESS_HOME_ZIP 2784 // 35 == ADDRESS_HOME_ZIP
2725 // 36 == ADDRESS_HOME_COUNTRY 2785 // 36 == ADDRESS_HOME_COUNTRY
2726 // 51 == CREDIT_CARD_NAME 2786 // 51 == CREDIT_CARD_NAME_FULL
2727 // 52 == CREDIT_CARD_NUMBER 2787 // 52 == CREDIT_CARD_NUMBER
2728 // 53 == CREDIT_CARD_EXP_MONTH 2788 // 53 == CREDIT_CARD_EXP_MONTH
2729 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR 2789 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR
2730 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR 2790 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR
2731 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR 2791 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR
2732 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR 2792 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR
2733 // 60 == COMPANY_NAME 2793 // 60 == COMPANY_NAME
2734 available_field_types.clear(); 2794 available_field_types.clear();
2735 available_field_types.insert(NAME_FIRST); 2795 available_field_types.insert(NAME_FIRST);
2736 available_field_types.insert(NAME_MIDDLE); 2796 available_field_types.insert(NAME_MIDDLE);
2737 available_field_types.insert(NAME_LAST); 2797 available_field_types.insert(NAME_LAST);
2738 available_field_types.insert(NAME_MIDDLE_INITIAL); 2798 available_field_types.insert(NAME_MIDDLE_INITIAL);
2739 available_field_types.insert(NAME_FULL); 2799 available_field_types.insert(NAME_FULL);
2740 available_field_types.insert(EMAIL_ADDRESS); 2800 available_field_types.insert(EMAIL_ADDRESS);
2741 available_field_types.insert(PHONE_HOME_NUMBER); 2801 available_field_types.insert(PHONE_HOME_NUMBER);
2742 available_field_types.insert(PHONE_HOME_CITY_CODE); 2802 available_field_types.insert(PHONE_HOME_CITY_CODE);
2743 available_field_types.insert(PHONE_HOME_COUNTRY_CODE); 2803 available_field_types.insert(PHONE_HOME_COUNTRY_CODE);
2744 available_field_types.insert(PHONE_HOME_CITY_AND_NUMBER); 2804 available_field_types.insert(PHONE_HOME_CITY_AND_NUMBER);
2745 available_field_types.insert(PHONE_HOME_WHOLE_NUMBER); 2805 available_field_types.insert(PHONE_HOME_WHOLE_NUMBER);
2746 available_field_types.insert(ADDRESS_HOME_LINE1); 2806 available_field_types.insert(ADDRESS_HOME_LINE1);
2747 available_field_types.insert(ADDRESS_HOME_LINE2); 2807 available_field_types.insert(ADDRESS_HOME_LINE2);
2748 available_field_types.insert(ADDRESS_HOME_CITY); 2808 available_field_types.insert(ADDRESS_HOME_CITY);
2749 available_field_types.insert(ADDRESS_HOME_STATE); 2809 available_field_types.insert(ADDRESS_HOME_STATE);
2750 available_field_types.insert(ADDRESS_HOME_ZIP); 2810 available_field_types.insert(ADDRESS_HOME_ZIP);
2751 available_field_types.insert(ADDRESS_HOME_COUNTRY); 2811 available_field_types.insert(ADDRESS_HOME_COUNTRY);
2752 available_field_types.insert(CREDIT_CARD_NAME); 2812 available_field_types.insert(CREDIT_CARD_NAME_FULL);
2753 available_field_types.insert(CREDIT_CARD_NUMBER); 2813 available_field_types.insert(CREDIT_CARD_NUMBER);
2754 available_field_types.insert(CREDIT_CARD_EXP_MONTH); 2814 available_field_types.insert(CREDIT_CARD_EXP_MONTH);
2755 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); 2815 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR);
2756 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); 2816 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR);
2757 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); 2817 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR);
2758 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); 2818 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR);
2759 available_field_types.insert(COMPANY_NAME); 2819 available_field_types.insert(COMPANY_NAME);
2760 2820
2761 // Adjust the expected proto string. 2821 // Adjust the expected proto string.
2762 upload.set_data_present("1f7e000378001fc8"); 2822 upload.set_data_present("1f7e000378001fc8");
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after
3441 prefix = FormStructure::FindLongestCommonPrefix(strings); 3501 prefix = FormStructure::FindLongestCommonPrefix(strings);
3442 EXPECT_EQ(ASCIIToUTF16("123456789"), prefix.as_string()); 3502 EXPECT_EQ(ASCIIToUTF16("123456789"), prefix.as_string());
3443 3503
3444 // Empty vector. 3504 // Empty vector.
3445 strings.clear(); 3505 strings.clear();
3446 prefix = FormStructure::FindLongestCommonPrefix(strings); 3506 prefix = FormStructure::FindLongestCommonPrefix(strings);
3447 EXPECT_EQ(ASCIIToUTF16(""), prefix.as_string()); 3507 EXPECT_EQ(ASCIIToUTF16(""), prefix.as_string());
3448 } 3508 }
3449 3509
3450 } // namespace autofill 3510 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698