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

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: Rebase Created 4 years, 9 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 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1273 field.form_control_type = "submit"; 1273 field.form_control_type = "submit";
1274 form.fields.push_back(field); 1274 form.fields.push_back(field);
1275 1275
1276 form_structure.reset(new FormStructure(form)); 1276 form_structure.reset(new FormStructure(form));
1277 form_structure->DetermineHeuristicTypes(); 1277 form_structure->DetermineHeuristicTypes();
1278 EXPECT_TRUE(form_structure->IsAutofillable()); 1278 EXPECT_TRUE(form_structure->IsAutofillable());
1279 ASSERT_EQ(6U, form_structure->field_count()); 1279 ASSERT_EQ(6U, form_structure->field_count());
1280 ASSERT_EQ(5U, form_structure->autofill_count()); 1280 ASSERT_EQ(5U, form_structure->autofill_count());
1281 1281
1282 // Credit card name. 1282 // Credit card name.
1283 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); 1283 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type());
1284 // Credit card number. 1284 // Credit card number.
1285 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); 1285 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type());
1286 // Credit card expiration month. 1286 // Credit card expiration month.
1287 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); 1287 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type());
1288 // Credit card expiration year. 1288 // Credit card expiration year.
1289 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1289 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1290 form_structure->field(3)->heuristic_type()); 1290 form_structure->field(3)->heuristic_type());
1291 // CVV. 1291 // CVV.
1292 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, 1292 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE,
1293 form_structure->field(4)->heuristic_type()); 1293 form_structure->field(4)->heuristic_type());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1333 field.form_control_type = "submit"; 1333 field.form_control_type = "submit";
1334 form.fields.push_back(field); 1334 form.fields.push_back(field);
1335 1335
1336 form_structure.reset(new FormStructure(form)); 1336 form_structure.reset(new FormStructure(form));
1337 form_structure->DetermineHeuristicTypes(); 1337 form_structure->DetermineHeuristicTypes();
1338 EXPECT_TRUE(form_structure->IsAutofillable()); 1338 EXPECT_TRUE(form_structure->IsAutofillable());
1339 ASSERT_EQ(7U, form_structure->field_count()); 1339 ASSERT_EQ(7U, form_structure->field_count());
1340 ASSERT_EQ(5U, form_structure->autofill_count()); 1340 ASSERT_EQ(5U, form_structure->autofill_count());
1341 1341
1342 // Credit card name. 1342 // Credit card name.
1343 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); 1343 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type());
1344 // Credit card type. This is an unknown type but related to the credit card. 1344 // Credit card type. This is an unknown type but related to the credit card.
1345 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); 1345 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type());
1346 // Credit card number. 1346 // Credit card number.
1347 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); 1347 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type());
1348 // Credit card expiration month. 1348 // Credit card expiration month.
1349 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); 1349 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1350 // Credit card expiration year. 1350 // Credit card expiration year.
1351 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1351 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1352 form_structure->field(4)->heuristic_type()); 1352 form_structure->field(4)->heuristic_type());
1353 // CVV. 1353 // CVV.
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1696 1696
1697 form_structure.reset(new FormStructure(form)); 1697 form_structure.reset(new FormStructure(form));
1698 form_structure->DetermineHeuristicTypes(); 1698 form_structure->DetermineHeuristicTypes();
1699 EXPECT_TRUE(form_structure->IsAutofillable()); 1699 EXPECT_TRUE(form_structure->IsAutofillable());
1700 1700
1701 // Expect the correct number of fields. 1701 // Expect the correct number of fields.
1702 ASSERT_EQ(5U, form_structure->field_count()); 1702 ASSERT_EQ(5U, form_structure->field_count());
1703 EXPECT_EQ(5U, form_structure->autofill_count()); 1703 EXPECT_EQ(5U, form_structure->autofill_count());
1704 1704
1705 // Name on Card. 1705 // Name on Card.
1706 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); 1706 EXPECT_EQ(CREDIT_CARD_NAME_FULL, form_structure->field(0)->heuristic_type());
1707 // Address. 1707 // Address.
1708 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(1)->heuristic_type()); 1708 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(1)->heuristic_type());
1709 // Card Number. 1709 // Card Number.
1710 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); 1710 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type());
1711 // Expiration Date. 1711 // Expiration Date.
1712 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); 1712 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1713 // Expiration Year. 1713 // Expiration Year.
1714 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1714 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1715 form_structure->field(4)->heuristic_type()); 1715 form_structure->field(4)->heuristic_type());
1716 } 1716 }
1717 1717
1718 TEST_F(FormStructureTest, CVCCodeClash) { 1718 // Tests that the heuristics detect split credit card names if they appear in
1719 // the middle of the form.
1720 TEST_F(FormStructureTest, HeuristicsInferCCNames_NamesNotFirst) {
1719 scoped_ptr<FormStructure> form_structure; 1721 scoped_ptr<FormStructure> form_structure;
1720 FormData form; 1722 FormData form;
1721 1723
1722 FormFieldData field; 1724 FormFieldData field;
1723 field.form_control_type = "text"; 1725 field.form_control_type = "text";
1724 1726
1725 field.label = ASCIIToUTF16("Card number"); 1727 field.label = ASCIIToUTF16("Card number");
1726 field.name = ASCIIToUTF16("ccnumber"); 1728 field.name = ASCIIToUTF16("ccnumber");
1727 form.fields.push_back(field); 1729 form.fields.push_back(field);
1728 1730
(...skipping 15 matching lines...) Expand all
1744 1746
1745 field.label = ASCIIToUTF16("cvc number"); 1747 field.label = ASCIIToUTF16("cvc number");
1746 field.name = ASCIIToUTF16("csc"); 1748 field.name = ASCIIToUTF16("csc");
1747 form.fields.push_back(field); 1749 form.fields.push_back(field);
1748 1750
1749 form_structure.reset(new FormStructure(form)); 1751 form_structure.reset(new FormStructure(form));
1750 form_structure->DetermineHeuristicTypes(); 1752 form_structure->DetermineHeuristicTypes();
1751 EXPECT_TRUE(form_structure->IsAutofillable()); 1753 EXPECT_TRUE(form_structure->IsAutofillable());
1752 1754
1753 // Expect the correct number of fields. 1755 // Expect the correct number of fields.
1754 EXPECT_EQ(6U, form_structure->field_count()); 1756 ASSERT_EQ(6U, form_structure->field_count());
1755 EXPECT_EQ(6U, form_structure->autofill_count()); 1757 ASSERT_EQ(6U, form_structure->autofill_count());
1756 1758
1757 // Card Number. 1759 // Card Number.
1758 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(0)->heuristic_type()); 1760 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(0)->heuristic_type());
1759 // First name, taken as name on card. 1761 // First name.
1760 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(1)->heuristic_type()); 1762 EXPECT_EQ(CREDIT_CARD_NAME_FIRST, form_structure->field(1)->heuristic_type());
1761 // Last name is picked up by the name parser. 1763 // Last name.
1762 EXPECT_EQ(NAME_LAST, form_structure->field(2)->heuristic_type()); 1764 EXPECT_EQ(CREDIT_CARD_NAME_LAST, form_structure->field(2)->heuristic_type());
1763 // Expiration Date. 1765 // Expiration Date.
1764 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type()); 1766 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1765 // Expiration Year. 1767 // Expiration Year.
1768 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1769 form_structure->field(4)->heuristic_type());
1770 // CVC code.
1771 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE,
1772 form_structure->field(5)->heuristic_type());
1773 }
1774
1775 // Tests that the heuristics detect split credit card names if they appear at
1776 // the beginning of the form. The first name has to contains some credit card
1777 // keyword.
1778 TEST_F(FormStructureTest, HeuristicsInferCCNames_NamesFirst) {
1779 scoped_ptr<FormStructure> form_structure;
1780 FormData form;
1781
1782 FormFieldData field;
1783 field.form_control_type = "text";
1784
1785 field.label = ASCIIToUTF16("Cardholder Name");
1786 field.name = ASCIIToUTF16("cc_first_name");
1787 form.fields.push_back(field);
1788
1789 field.label = ASCIIToUTF16("Last name");
1790 field.name = ASCIIToUTF16("last_name");
1791 form.fields.push_back(field);
1792
1793 field.label = ASCIIToUTF16("Card number");
1794 field.name = ASCIIToUTF16("ccnumber");
1795 form.fields.push_back(field);
1796
1797 field.label = ASCIIToUTF16("Expiration date");
1798 field.name = ASCIIToUTF16("ccexpiresmonth");
1799 form.fields.push_back(field);
1800
1801 field.label = base::string16();
1802 field.name = ASCIIToUTF16("ccexpiresyear");
1803 form.fields.push_back(field);
1804
1805 field.label = ASCIIToUTF16("cvc number");
1806 field.name = ASCIIToUTF16("csc");
1807 form.fields.push_back(field);
1808
1809 form_structure.reset(new FormStructure(form));
1810 form_structure->DetermineHeuristicTypes();
1811 EXPECT_TRUE(form_structure->IsAutofillable());
1812
1813 // Expect the correct number of fields.
1814 ASSERT_EQ(6U, form_structure->field_count());
1815 ASSERT_EQ(6U, form_structure->autofill_count());
1816
1817 // First name.
1818 EXPECT_EQ(CREDIT_CARD_NAME_FIRST, form_structure->field(0)->heuristic_type());
1819 // Last name.
1820 EXPECT_EQ(CREDIT_CARD_NAME_LAST, form_structure->field(1)->heuristic_type());
1821 // Card Number.
1822 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type());
1823 // Expiration Date.
1824 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(3)->heuristic_type());
1825 // Expiration Year.
1766 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR, 1826 EXPECT_EQ(CREDIT_CARD_EXP_4_DIGIT_YEAR,
1767 form_structure->field(4)->heuristic_type()); 1827 form_structure->field(4)->heuristic_type());
1768 // CVC code. 1828 // CVC code.
1769 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, 1829 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE,
1770 form_structure->field(5)->heuristic_type()); 1830 form_structure->field(5)->heuristic_type());
1771 } 1831 }
1772 1832
1773 TEST_F(FormStructureTest, EncodeQueryRequest) { 1833 TEST_F(FormStructureTest, EncodeQueryRequest) {
1774 FormData form; 1834 FormData form;
1775 1835
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
2746 EXPECT_TRUE(form_structure.EncodeUploadRequest( 2806 EXPECT_TRUE(form_structure.EncodeUploadRequest(
2747 available_field_types, false, std::string(), true, &encoded_upload3)); 2807 available_field_types, false, std::string(), true, &encoded_upload3));
2748 2808
2749 encoded_upload3.SerializeToString(&encoded_upload_string); 2809 encoded_upload3.SerializeToString(&encoded_upload_string);
2750 EXPECT_EQ(expected_upload_string, encoded_upload_string); 2810 EXPECT_EQ(expected_upload_string, encoded_upload_string);
2751 2811
2752 // All supported credit card types available. 2812 // All supported credit card types available.
2753 // datapresent should be "0000000000001fc0" == trimmmed(0x0000000000001fc0) == 2813 // datapresent should be "0000000000001fc0" == trimmmed(0x0000000000001fc0) ==
2754 // 0b0000000000000000000000000000000000000000000000000001111111000000 2814 // 0b0000000000000000000000000000000000000000000000000001111111000000
2755 // The set bits are: 2815 // The set bits are:
2756 // 51 == CREDIT_CARD_NAME 2816 // 51 == CREDIT_CARD_NAME_FULL
2757 // 52 == CREDIT_CARD_NUMBER 2817 // 52 == CREDIT_CARD_NUMBER
2758 // 53 == CREDIT_CARD_EXP_MONTH 2818 // 53 == CREDIT_CARD_EXP_MONTH
2759 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR 2819 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR
2760 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR 2820 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR
2761 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR 2821 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR
2762 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR 2822 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR
2763 available_field_types.clear(); 2823 available_field_types.clear();
2764 available_field_types.insert(CREDIT_CARD_NAME); 2824 available_field_types.insert(CREDIT_CARD_NAME_FULL);
2765 available_field_types.insert(CREDIT_CARD_NUMBER); 2825 available_field_types.insert(CREDIT_CARD_NUMBER);
2766 available_field_types.insert(CREDIT_CARD_EXP_MONTH); 2826 available_field_types.insert(CREDIT_CARD_EXP_MONTH);
2767 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); 2827 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR);
2768 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); 2828 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR);
2769 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); 2829 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR);
2770 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); 2830 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR);
2771 2831
2772 // Adjust the expected proto string. 2832 // Adjust the expected proto string.
2773 upload.set_data_present("0000000000001fc0"); 2833 upload.set_data_present("0000000000001fc0");
2774 ASSERT_TRUE(upload.SerializeToString(&expected_upload_string)); 2834 ASSERT_TRUE(upload.SerializeToString(&expected_upload_string));
(...skipping 19 matching lines...) Expand all
2794 // 11 == PHONE_HOME_CITY_CODE, 2854 // 11 == PHONE_HOME_CITY_CODE,
2795 // 12 == PHONE_HOME_COUNTRY_CODE, 2855 // 12 == PHONE_HOME_COUNTRY_CODE,
2796 // 13 == PHONE_HOME_CITY_AND_NUMBER, 2856 // 13 == PHONE_HOME_CITY_AND_NUMBER,
2797 // 14 == PHONE_HOME_WHOLE_NUMBER, 2857 // 14 == PHONE_HOME_WHOLE_NUMBER,
2798 // 30 == ADDRESS_HOME_LINE1 2858 // 30 == ADDRESS_HOME_LINE1
2799 // 31 == ADDRESS_HOME_LINE2 2859 // 31 == ADDRESS_HOME_LINE2
2800 // 33 == ADDRESS_HOME_CITY 2860 // 33 == ADDRESS_HOME_CITY
2801 // 34 == ADDRESS_HOME_STATE 2861 // 34 == ADDRESS_HOME_STATE
2802 // 35 == ADDRESS_HOME_ZIP 2862 // 35 == ADDRESS_HOME_ZIP
2803 // 36 == ADDRESS_HOME_COUNTRY 2863 // 36 == ADDRESS_HOME_COUNTRY
2804 // 51 == CREDIT_CARD_NAME 2864 // 51 == CREDIT_CARD_NAME_FULL
2805 // 52 == CREDIT_CARD_NUMBER 2865 // 52 == CREDIT_CARD_NUMBER
2806 // 53 == CREDIT_CARD_EXP_MONTH 2866 // 53 == CREDIT_CARD_EXP_MONTH
2807 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR 2867 // 54 == CREDIT_CARD_EXP_2_DIGIT_YEAR
2808 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR 2868 // 55 == CREDIT_CARD_EXP_4_DIGIT_YEAR
2809 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR 2869 // 56 == CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR
2810 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR 2870 // 57 == CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR
2811 // 60 == COMPANY_NAME 2871 // 60 == COMPANY_NAME
2812 available_field_types.clear(); 2872 available_field_types.clear();
2813 available_field_types.insert(NAME_FIRST); 2873 available_field_types.insert(NAME_FIRST);
2814 available_field_types.insert(NAME_MIDDLE); 2874 available_field_types.insert(NAME_MIDDLE);
2815 available_field_types.insert(NAME_LAST); 2875 available_field_types.insert(NAME_LAST);
2816 available_field_types.insert(NAME_MIDDLE_INITIAL); 2876 available_field_types.insert(NAME_MIDDLE_INITIAL);
2817 available_field_types.insert(NAME_FULL); 2877 available_field_types.insert(NAME_FULL);
2818 available_field_types.insert(EMAIL_ADDRESS); 2878 available_field_types.insert(EMAIL_ADDRESS);
2819 available_field_types.insert(PHONE_HOME_NUMBER); 2879 available_field_types.insert(PHONE_HOME_NUMBER);
2820 available_field_types.insert(PHONE_HOME_CITY_CODE); 2880 available_field_types.insert(PHONE_HOME_CITY_CODE);
2821 available_field_types.insert(PHONE_HOME_COUNTRY_CODE); 2881 available_field_types.insert(PHONE_HOME_COUNTRY_CODE);
2822 available_field_types.insert(PHONE_HOME_CITY_AND_NUMBER); 2882 available_field_types.insert(PHONE_HOME_CITY_AND_NUMBER);
2823 available_field_types.insert(PHONE_HOME_WHOLE_NUMBER); 2883 available_field_types.insert(PHONE_HOME_WHOLE_NUMBER);
2824 available_field_types.insert(ADDRESS_HOME_LINE1); 2884 available_field_types.insert(ADDRESS_HOME_LINE1);
2825 available_field_types.insert(ADDRESS_HOME_LINE2); 2885 available_field_types.insert(ADDRESS_HOME_LINE2);
2826 available_field_types.insert(ADDRESS_HOME_CITY); 2886 available_field_types.insert(ADDRESS_HOME_CITY);
2827 available_field_types.insert(ADDRESS_HOME_STATE); 2887 available_field_types.insert(ADDRESS_HOME_STATE);
2828 available_field_types.insert(ADDRESS_HOME_ZIP); 2888 available_field_types.insert(ADDRESS_HOME_ZIP);
2829 available_field_types.insert(ADDRESS_HOME_COUNTRY); 2889 available_field_types.insert(ADDRESS_HOME_COUNTRY);
2830 available_field_types.insert(CREDIT_CARD_NAME); 2890 available_field_types.insert(CREDIT_CARD_NAME_FULL);
2831 available_field_types.insert(CREDIT_CARD_NUMBER); 2891 available_field_types.insert(CREDIT_CARD_NUMBER);
2832 available_field_types.insert(CREDIT_CARD_EXP_MONTH); 2892 available_field_types.insert(CREDIT_CARD_EXP_MONTH);
2833 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR); 2893 available_field_types.insert(CREDIT_CARD_EXP_2_DIGIT_YEAR);
2834 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR); 2894 available_field_types.insert(CREDIT_CARD_EXP_4_DIGIT_YEAR);
2835 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR); 2895 available_field_types.insert(CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR);
2836 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR); 2896 available_field_types.insert(CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR);
2837 available_field_types.insert(COMPANY_NAME); 2897 available_field_types.insert(COMPANY_NAME);
2838 2898
2839 // Adjust the expected proto string. 2899 // Adjust the expected proto string.
2840 upload.set_data_present("1f7e000378001fc8"); 2900 upload.set_data_present("1f7e000378001fc8");
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
3521 prefix = FormStructure::FindLongestCommonPrefix(strings); 3581 prefix = FormStructure::FindLongestCommonPrefix(strings);
3522 EXPECT_EQ(ASCIIToUTF16("123456789012345"), prefix); 3582 EXPECT_EQ(ASCIIToUTF16("123456789012345"), prefix);
3523 3583
3524 // Empty vector. 3584 // Empty vector.
3525 strings.clear(); 3585 strings.clear();
3526 prefix = FormStructure::FindLongestCommonPrefix(strings); 3586 prefix = FormStructure::FindLongestCommonPrefix(strings);
3527 EXPECT_EQ(ASCIIToUTF16(""), prefix); 3587 EXPECT_EQ(ASCIIToUTF16(""), prefix);
3528 } 3588 }
3529 3589
3530 } // namespace autofill 3590 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/form_structure.cc ('k') | components/autofill/core/browser/payments/payments_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698