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

Side by Side Diff: chrome/browser/autofill/select_control_handler_unittest.cc

Issue 6673079: Reduce boxing and unboxing of AutofillFieldType (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/utf_string_conversions.h" 5 #include "base/utf_string_conversions.h"
6 #include "chrome/browser/autofill/autofill_profile.h" 6 #include "chrome/browser/autofill/autofill_profile.h"
7 #include "chrome/browser/autofill/autofill_type.h" 7 #include "chrome/browser/autofill/autofill_type.h"
8 #include "chrome/browser/autofill/credit_card.h" 8 #include "chrome/browser/autofill/credit_card.h"
9 #include "chrome/browser/autofill/select_control_handler.h" 9 #include "chrome/browser/autofill/select_control_handler.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "webkit/glue/form_field.h" 11 #include "webkit/glue/form_field.h"
12 12
13 TEST(SelectControlHandlerTest, CreditCardMonthExact) { 13 TEST(SelectControlHandlerTest, CreditCardMonthExact) {
14 const char* const kMonthsNumeric[] = { 14 const char* const kMonthsNumeric[] = {
15 "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", 15 "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12",
16 }; 16 };
17 std::vector<string16> options(arraysize(kMonthsNumeric)); 17 std::vector<string16> options(arraysize(kMonthsNumeric));
18 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) 18 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i)
19 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); 19 options[i] = ASCIIToUTF16(kMonthsNumeric[i]);
20 20
21 webkit_glue::FormField field; 21 webkit_glue::FormField field;
22 field.form_control_type = ASCIIToUTF16("select-one"); 22 field.form_control_type = ASCIIToUTF16("select-one");
23 field.option_strings = options; 23 field.option_strings = options;
24 24
25 CreditCard credit_card; 25 CreditCard credit_card;
26 credit_card.SetInfo(AutofillType(CREDIT_CARD_EXP_MONTH), ASCIIToUTF16("01")); 26 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01"));
27 autofill::FillSelectControl(credit_card, 27 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field);
28 AutofillType(CREDIT_CARD_EXP_MONTH),
29 &field);
30 EXPECT_EQ(ASCIIToUTF16("01"), field.value); 28 EXPECT_EQ(ASCIIToUTF16("01"), field.value);
31 } 29 }
32 30
33 TEST(SelectControlHandlerTest, CreditCardMonthAbbreviated) { 31 TEST(SelectControlHandlerTest, CreditCardMonthAbbreviated) {
34 const char* const kMonthsAbbreviated[] = { 32 const char* const kMonthsAbbreviated[] = {
35 "Jan", "Feb", "Mar", "Apr", "May", "Jun", 33 "Jan", "Feb", "Mar", "Apr", "May", "Jun",
36 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", 34 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
37 }; 35 };
38 std::vector<string16> options(arraysize(kMonthsAbbreviated)); 36 std::vector<string16> options(arraysize(kMonthsAbbreviated));
39 for (size_t i = 0; i < arraysize(kMonthsAbbreviated); ++i) 37 for (size_t i = 0; i < arraysize(kMonthsAbbreviated); ++i)
40 options[i] = ASCIIToUTF16(kMonthsAbbreviated[i]); 38 options[i] = ASCIIToUTF16(kMonthsAbbreviated[i]);
41 39
42 webkit_glue::FormField field; 40 webkit_glue::FormField field;
43 field.form_control_type = ASCIIToUTF16("select-one"); 41 field.form_control_type = ASCIIToUTF16("select-one");
44 field.option_strings = options; 42 field.option_strings = options;
45 43
46 CreditCard credit_card; 44 CreditCard credit_card;
47 credit_card.SetInfo(AutofillType(CREDIT_CARD_EXP_MONTH), ASCIIToUTF16("01")); 45 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01"));
48 autofill::FillSelectControl(credit_card, 46 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field);
49 AutofillType(CREDIT_CARD_EXP_MONTH),
50 &field);
51 EXPECT_EQ(ASCIIToUTF16("Jan"), field.value); 47 EXPECT_EQ(ASCIIToUTF16("Jan"), field.value);
52 } 48 }
53 49
54 TEST(SelectControlHandlerTest, CreditCardMonthFull) { 50 TEST(SelectControlHandlerTest, CreditCardMonthFull) {
55 const char* const kMonthsFull[] = { 51 const char* const kMonthsFull[] = {
56 "January", "February", "March", "April", "May", "June", 52 "January", "February", "March", "April", "May", "June",
57 "July", "August", "September", "October", "November", "December", 53 "July", "August", "September", "October", "November", "December",
58 }; 54 };
59 std::vector<string16> options(arraysize(kMonthsFull)); 55 std::vector<string16> options(arraysize(kMonthsFull));
60 for (size_t i = 0; i < arraysize(kMonthsFull); ++i) 56 for (size_t i = 0; i < arraysize(kMonthsFull); ++i)
61 options[i] = ASCIIToUTF16(kMonthsFull[i]); 57 options[i] = ASCIIToUTF16(kMonthsFull[i]);
62 58
63 webkit_glue::FormField field; 59 webkit_glue::FormField field;
64 field.form_control_type = ASCIIToUTF16("select-one"); 60 field.form_control_type = ASCIIToUTF16("select-one");
65 field.option_strings = options; 61 field.option_strings = options;
66 62
67 CreditCard credit_card; 63 CreditCard credit_card;
68 credit_card.SetInfo(AutofillType(CREDIT_CARD_EXP_MONTH), ASCIIToUTF16("01")); 64 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01"));
69 autofill::FillSelectControl(credit_card, 65 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field);
70 AutofillType(CREDIT_CARD_EXP_MONTH),
71 &field);
72 EXPECT_EQ(ASCIIToUTF16("January"), field.value); 66 EXPECT_EQ(ASCIIToUTF16("January"), field.value);
73 } 67 }
74 68
75 TEST(SelectControlHandlerTest, CreditCardMonthNumeric) { 69 TEST(SelectControlHandlerTest, CreditCardMonthNumeric) {
76 const char* const kMonthsNumeric[] = { 70 const char* const kMonthsNumeric[] = {
77 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", 71 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12",
78 }; 72 };
79 std::vector<string16> options(arraysize(kMonthsNumeric)); 73 std::vector<string16> options(arraysize(kMonthsNumeric));
80 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) 74 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i)
81 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); 75 options[i] = ASCIIToUTF16(kMonthsNumeric[i]);
82 76
83 webkit_glue::FormField field; 77 webkit_glue::FormField field;
84 field.form_control_type = ASCIIToUTF16("select-one"); 78 field.form_control_type = ASCIIToUTF16("select-one");
85 field.option_strings = options; 79 field.option_strings = options;
86 80
87 CreditCard credit_card; 81 CreditCard credit_card;
88 credit_card.SetInfo(AutofillType(CREDIT_CARD_EXP_MONTH), ASCIIToUTF16("01")); 82 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01"));
89 autofill::FillSelectControl(credit_card, 83 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field);
90 AutofillType(CREDIT_CARD_EXP_MONTH),
91 &field);
92 EXPECT_EQ(ASCIIToUTF16("1"), field.value); 84 EXPECT_EQ(ASCIIToUTF16("1"), field.value);
93 } 85 }
94 86
95 TEST(SelectControlHandlerTest, AddressCountryFull) { 87 TEST(SelectControlHandlerTest, AddressCountryFull) {
96 const char* const kCountries[] = { 88 const char* const kCountries[] = {
97 "Albania", "Canada" 89 "Albania", "Canada"
98 }; 90 };
99 std::vector<string16> options(arraysize(kCountries)); 91 std::vector<string16> options(arraysize(kCountries));
100 for (size_t i = 0; i < arraysize(kCountries); ++i) 92 for (size_t i = 0; i < arraysize(kCountries); ++i)
101 options[i] = ASCIIToUTF16(kCountries[i]); 93 options[i] = ASCIIToUTF16(kCountries[i]);
102 94
103 webkit_glue::FormField field; 95 webkit_glue::FormField field;
104 field.form_control_type = ASCIIToUTF16("select-one"); 96 field.form_control_type = ASCIIToUTF16("select-one");
105 field.option_strings = options; 97 field.option_strings = options;
106 98
107 AutofillProfile profile; 99 AutofillProfile profile;
108 profile.SetInfo(AutofillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("CA")); 100 profile.SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("CA"));
109 autofill::FillSelectControl(profile, 101 autofill::FillSelectControl(profile, ADDRESS_HOME_COUNTRY, &field);
110 AutofillType(ADDRESS_HOME_COUNTRY),
111 &field);
112 EXPECT_EQ(ASCIIToUTF16("Canada"), field.value); 102 EXPECT_EQ(ASCIIToUTF16("Canada"), field.value);
113 } 103 }
114 104
115 TEST(SelectControlHandlerTest, AddressCountryAbbrev) { 105 TEST(SelectControlHandlerTest, AddressCountryAbbrev) {
116 const char* const kCountries[] = { 106 const char* const kCountries[] = {
117 "AL", "CA" 107 "AL", "CA"
118 }; 108 };
119 std::vector<string16> options(arraysize(kCountries)); 109 std::vector<string16> options(arraysize(kCountries));
120 for (size_t i = 0; i < arraysize(kCountries); ++i) 110 for (size_t i = 0; i < arraysize(kCountries); ++i)
121 options[i] = ASCIIToUTF16(kCountries[i]); 111 options[i] = ASCIIToUTF16(kCountries[i]);
122 112
123 webkit_glue::FormField field; 113 webkit_glue::FormField field;
124 field.form_control_type = ASCIIToUTF16("select-one"); 114 field.form_control_type = ASCIIToUTF16("select-one");
125 field.option_strings = options; 115 field.option_strings = options;
126 116
127 AutofillProfile profile; 117 AutofillProfile profile;
128 profile.SetInfo(AutofillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("Canada")); 118 profile.SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("Canada"));
129 autofill::FillSelectControl(profile, 119 autofill::FillSelectControl(profile, ADDRESS_HOME_COUNTRY, &field);
130 AutofillType(ADDRESS_HOME_COUNTRY),
131 &field);
132 EXPECT_EQ(ASCIIToUTF16("CA"), field.value); 120 EXPECT_EQ(ASCIIToUTF16("CA"), field.value);
133 } 121 }
134 122
135 TEST(SelectControlHandlerTest, AddressStateFull) { 123 TEST(SelectControlHandlerTest, AddressStateFull) {
136 const char* const kStates[] = { 124 const char* const kStates[] = {
137 "Alabama", "California" 125 "Alabama", "California"
138 }; 126 };
139 std::vector<string16> options(arraysize(kStates)); 127 std::vector<string16> options(arraysize(kStates));
140 for (size_t i = 0; i < arraysize(kStates); ++i) 128 for (size_t i = 0; i < arraysize(kStates); ++i)
141 options[i] = ASCIIToUTF16(kStates[i]); 129 options[i] = ASCIIToUTF16(kStates[i]);
142 130
143 webkit_glue::FormField field; 131 webkit_glue::FormField field;
144 field.form_control_type = ASCIIToUTF16("select-one"); 132 field.form_control_type = ASCIIToUTF16("select-one");
145 field.option_strings = options; 133 field.option_strings = options;
146 134
147 AutofillProfile profile; 135 AutofillProfile profile;
148 profile.SetInfo(AutofillType(ADDRESS_HOME_STATE), ASCIIToUTF16("CA")); 136 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA"));
149 autofill::FillSelectControl(profile, 137 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field);
150 AutofillType(ADDRESS_HOME_STATE),
151 &field);
152 EXPECT_EQ(ASCIIToUTF16("California"), field.value); 138 EXPECT_EQ(ASCIIToUTF16("California"), field.value);
153 } 139 }
154 140
155 TEST(SelectControlHandlerTest, AddressStateAbbrev) { 141 TEST(SelectControlHandlerTest, AddressStateAbbrev) {
156 const char* const kStates[] = { 142 const char* const kStates[] = {
157 "AL", "CA" 143 "AL", "CA"
158 }; 144 };
159 std::vector<string16> options(arraysize(kStates)); 145 std::vector<string16> options(arraysize(kStates));
160 for (size_t i = 0; i < arraysize(kStates); ++i) 146 for (size_t i = 0; i < arraysize(kStates); ++i)
161 options[i] = ASCIIToUTF16(kStates[i]); 147 options[i] = ASCIIToUTF16(kStates[i]);
162 148
163 webkit_glue::FormField field; 149 webkit_glue::FormField field;
164 field.form_control_type = ASCIIToUTF16("select-one"); 150 field.form_control_type = ASCIIToUTF16("select-one");
165 field.option_strings = options; 151 field.option_strings = options;
166 152
167 AutofillProfile profile; 153 AutofillProfile profile;
168 profile.SetInfo(AutofillType(ADDRESS_HOME_STATE), ASCIIToUTF16("California")); 154 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California"));
169 autofill::FillSelectControl(profile, 155 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field);
170 AutofillType(ADDRESS_HOME_STATE),
171 &field);
172 EXPECT_EQ(ASCIIToUTF16("CA"), field.value); 156 EXPECT_EQ(ASCIIToUTF16("CA"), field.value);
173 } 157 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/select_control_handler.cc ('k') | chrome/browser/automation/testing_automation_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698