OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |