OLD | NEW |
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/stringprintf.h" | 5 #include "base/stringprintf.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/autofill/autofill_profile.h" | 7 #include "chrome/browser/autofill/autofill_profile.h" |
8 #include "chrome/browser/autofill/autofill_type.h" | 8 #include "chrome/browser/autofill/autofill_type.h" |
9 #include "chrome/browser/autofill/credit_card.h" | 9 #include "chrome/browser/autofill/credit_card.h" |
10 #include "chrome/browser/autofill/select_control_handler.h" | 10 #include "chrome/browser/autofill/select_control_handler.h" |
11 #include "chrome/common/form_field_data.h" | 11 #include "chrome/common/form_field_data.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 | 13 |
14 TEST(SelectControlHandlerTest, CreditCardMonthExact) { | 14 TEST(SelectControlHandlerTest, CreditCardMonthExact) { |
15 const char* const kMonthsNumeric[] = { | 15 const char* const kMonthsNumeric[] = { |
16 "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", | 16 "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", |
17 }; | 17 }; |
18 std::vector<string16> options(arraysize(kMonthsNumeric)); | 18 std::vector<string16> options(arraysize(kMonthsNumeric)); |
19 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { | 19 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { |
20 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); | 20 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); |
21 } | 21 } |
22 | 22 |
23 FormFieldData field; | 23 FormFieldData field; |
24 field.form_control_type = "select-one"; | 24 field.form_control_type = "select-one"; |
25 field.option_values = options; | 25 field.option_values = options; |
26 field.option_contents = options; | 26 field.option_contents = options; |
27 | 27 |
28 CreditCard credit_card; | 28 CreditCard credit_card; |
29 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 29 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
30 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); | 30 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); |
31 EXPECT_EQ(ASCIIToUTF16("01"), field.value); | 31 EXPECT_EQ(ASCIIToUTF16("01"), field.value); |
32 } | 32 } |
33 | 33 |
34 TEST(SelectControlHandlerTest, CreditCardMonthAbbreviated) { | 34 TEST(SelectControlHandlerTest, CreditCardMonthAbbreviated) { |
35 const char* const kMonthsAbbreviated[] = { | 35 const char* const kMonthsAbbreviated[] = { |
36 "Jan", "Feb", "Mar", "Apr", "May", "Jun", | 36 "Jan", "Feb", "Mar", "Apr", "May", "Jun", |
37 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", | 37 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", |
38 }; | 38 }; |
39 std::vector<string16> options(arraysize(kMonthsAbbreviated)); | 39 std::vector<string16> options(arraysize(kMonthsAbbreviated)); |
40 for (size_t i = 0; i < arraysize(kMonthsAbbreviated); ++i) { | 40 for (size_t i = 0; i < arraysize(kMonthsAbbreviated); ++i) { |
41 options[i] = ASCIIToUTF16(kMonthsAbbreviated[i]); | 41 options[i] = ASCIIToUTF16(kMonthsAbbreviated[i]); |
42 } | 42 } |
43 | 43 |
44 FormFieldData field; | 44 FormFieldData field; |
45 field.form_control_type = "select-one"; | 45 field.form_control_type = "select-one"; |
46 field.option_values = options; | 46 field.option_values = options; |
47 field.option_contents = options; | 47 field.option_contents = options; |
48 | 48 |
49 CreditCard credit_card; | 49 CreditCard credit_card; |
50 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 50 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
51 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); | 51 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); |
52 EXPECT_EQ(ASCIIToUTF16("Jan"), field.value); | 52 EXPECT_EQ(ASCIIToUTF16("Jan"), field.value); |
53 } | 53 } |
54 | 54 |
55 TEST(SelectControlHandlerTest, CreditCardMonthFull) { | 55 TEST(SelectControlHandlerTest, CreditCardMonthFull) { |
56 const char* const kMonthsFull[] = { | 56 const char* const kMonthsFull[] = { |
57 "January", "February", "March", "April", "May", "June", | 57 "January", "February", "March", "April", "May", "June", |
58 "July", "August", "September", "October", "November", "December", | 58 "July", "August", "September", "October", "November", "December", |
59 }; | 59 }; |
60 std::vector<string16> options(arraysize(kMonthsFull)); | 60 std::vector<string16> options(arraysize(kMonthsFull)); |
61 for (size_t i = 0; i < arraysize(kMonthsFull); ++i) { | 61 for (size_t i = 0; i < arraysize(kMonthsFull); ++i) { |
62 options[i] = ASCIIToUTF16(kMonthsFull[i]); | 62 options[i] = ASCIIToUTF16(kMonthsFull[i]); |
63 } | 63 } |
64 | 64 |
65 FormFieldData field; | 65 FormFieldData field; |
66 field.form_control_type = "select-one"; | 66 field.form_control_type = "select-one"; |
67 field.option_values = options; | 67 field.option_values = options; |
68 field.option_contents = options; | 68 field.option_contents = options; |
69 | 69 |
70 CreditCard credit_card; | 70 CreditCard credit_card; |
71 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 71 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
72 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); | 72 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); |
73 EXPECT_EQ(ASCIIToUTF16("January"), field.value); | 73 EXPECT_EQ(ASCIIToUTF16("January"), field.value); |
74 } | 74 } |
75 | 75 |
76 TEST(SelectControlHandlerTest, CreditCardMonthNumeric) { | 76 TEST(SelectControlHandlerTest, CreditCardMonthNumeric) { |
77 const char* const kMonthsNumeric[] = { | 77 const char* const kMonthsNumeric[] = { |
78 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", | 78 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", |
79 }; | 79 }; |
80 std::vector<string16> options(arraysize(kMonthsNumeric)); | 80 std::vector<string16> options(arraysize(kMonthsNumeric)); |
81 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { | 81 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { |
82 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); | 82 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); |
83 } | 83 } |
84 | 84 |
85 FormFieldData field; | 85 FormFieldData field; |
86 field.form_control_type = "select-one"; | 86 field.form_control_type = "select-one"; |
87 field.option_values = options; | 87 field.option_values = options; |
88 field.option_contents = options; | 88 field.option_contents = options; |
89 | 89 |
90 CreditCard credit_card; | 90 CreditCard credit_card; |
91 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 91 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
92 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); | 92 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_MONTH, &field); |
93 EXPECT_EQ(ASCIIToUTF16("1"), field.value); | 93 EXPECT_EQ(ASCIIToUTF16("1"), field.value); |
94 } | 94 } |
95 | 95 |
96 TEST(SelectControlHandlerTest, CreditCardTwoDigitYear) { | 96 TEST(SelectControlHandlerTest, CreditCardTwoDigitYear) { |
97 const char* const kYears[] = { | 97 const char* const kYears[] = { |
98 "12", "13", "14", "15", "16", "17", "18", "19" | 98 "12", "13", "14", "15", "16", "17", "18", "19" |
99 }; | 99 }; |
100 std::vector<string16> options(arraysize(kYears)); | 100 std::vector<string16> options(arraysize(kYears)); |
101 for (size_t i = 0; i < arraysize(kYears); ++i) { | 101 for (size_t i = 0; i < arraysize(kYears); ++i) { |
102 options[i] = ASCIIToUTF16(kYears[i]); | 102 options[i] = ASCIIToUTF16(kYears[i]); |
103 } | 103 } |
104 | 104 |
105 FormFieldData field; | 105 FormFieldData field; |
106 field.form_control_type = "select-one"; | 106 field.form_control_type = "select-one"; |
107 field.option_values = options; | 107 field.option_values = options; |
108 field.option_contents = options; | 108 field.option_contents = options; |
109 | 109 |
110 CreditCard credit_card; | 110 CreditCard credit_card; |
111 credit_card.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2017")); | 111 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2017")); |
112 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_4_DIGIT_YEAR, | 112 autofill::FillSelectControl(credit_card, CREDIT_CARD_EXP_4_DIGIT_YEAR, |
113 &field); | 113 &field); |
114 EXPECT_EQ(ASCIIToUTF16("17"), field.value); | 114 EXPECT_EQ(ASCIIToUTF16("17"), field.value); |
115 } | 115 } |
116 | 116 |
117 TEST(SelectControlHandlerTest, CreditCardType) { | 117 TEST(SelectControlHandlerTest, CreditCardType) { |
118 const char* const kCreditCardTypes[] = { | 118 const char* const kCreditCardTypes[] = { |
119 "Visa", "Master Card", "AmEx", "discover" | 119 "Visa", "Master Card", "AmEx", "discover" |
120 }; | 120 }; |
121 std::vector<string16> options(arraysize(kCreditCardTypes)); | 121 std::vector<string16> options(arraysize(kCreditCardTypes)); |
122 for (size_t i = 0; i < arraysize(kCreditCardTypes); ++i) { | 122 for (size_t i = 0; i < arraysize(kCreditCardTypes); ++i) { |
123 options[i] = ASCIIToUTF16(kCreditCardTypes[i]); | 123 options[i] = ASCIIToUTF16(kCreditCardTypes[i]); |
124 } | 124 } |
125 | 125 |
126 FormFieldData field; | 126 FormFieldData field; |
127 field.form_control_type = "select-one"; | 127 field.form_control_type = "select-one"; |
128 field.option_values = options; | 128 field.option_values = options; |
129 field.option_contents = options; | 129 field.option_contents = options; |
130 | 130 |
131 // Credit card types are inferred from the numbers, so we use test numbers for | 131 // Credit card types are inferred from the numbers, so we use test numbers for |
132 // each card type. Test card numbers are drawn from | 132 // each card type. Test card numbers are drawn from |
133 // http://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_num
bers.htm | 133 // http://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_num
bers.htm |
134 | 134 |
135 { | 135 { |
136 // Normal case: | 136 // Normal case: |
137 CreditCard credit_card; | 137 CreditCard credit_card; |
138 credit_card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); | 138 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, |
| 139 ASCIIToUTF16("4111111111111111")); |
139 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); | 140 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); |
140 EXPECT_EQ(ASCIIToUTF16("Visa"), field.value); | 141 EXPECT_EQ(ASCIIToUTF16("Visa"), field.value); |
141 } | 142 } |
142 | 143 |
143 { | 144 { |
144 // Filling should be able to handle intervening whitespace: | 145 // Filling should be able to handle intervening whitespace: |
145 CreditCard credit_card; | 146 CreditCard credit_card; |
146 credit_card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("5105105105105100")); | 147 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, |
| 148 ASCIIToUTF16("5105105105105100")); |
147 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); | 149 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); |
148 EXPECT_EQ(ASCIIToUTF16("Master Card"), field.value); | 150 EXPECT_EQ(ASCIIToUTF16("Master Card"), field.value); |
149 } | 151 } |
150 | 152 |
151 { | 153 { |
152 // American Express is sometimes abbreviated as AmEx: | 154 // American Express is sometimes abbreviated as AmEx: |
153 CreditCard credit_card; | 155 CreditCard credit_card; |
154 credit_card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("371449635398431")); | 156 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("371449635398431")); |
155 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); | 157 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); |
156 EXPECT_EQ(ASCIIToUTF16("AmEx"), field.value); | 158 EXPECT_EQ(ASCIIToUTF16("AmEx"), field.value); |
157 } | 159 } |
158 | 160 |
159 { | 161 { |
160 // Case insensitivity: | 162 // Case insensitivity: |
161 CreditCard credit_card; | 163 CreditCard credit_card; |
162 credit_card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("6011111111111117")); | 164 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, |
| 165 ASCIIToUTF16("6011111111111117")); |
163 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); | 166 autofill::FillSelectControl(credit_card, CREDIT_CARD_TYPE, &field); |
164 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); | 167 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); |
165 } | 168 } |
166 } | 169 } |
167 | 170 |
168 TEST(SelectControlHandlerTest, AddressCountryFull) { | 171 TEST(SelectControlHandlerTest, AddressCountryFull) { |
169 const char* const kCountries[] = { | 172 const char* const kCountries[] = { |
170 "Albania", "Canada" | 173 "Albania", "Canada" |
171 }; | 174 }; |
172 std::vector<string16> options(arraysize(kCountries)); | 175 std::vector<string16> options(arraysize(kCountries)); |
173 for (size_t i = 0; i < arraysize(kCountries); ++i) { | 176 for (size_t i = 0; i < arraysize(kCountries); ++i) { |
174 options[i] = ASCIIToUTF16(kCountries[i]); | 177 options[i] = ASCIIToUTF16(kCountries[i]); |
175 } | 178 } |
176 | 179 |
177 FormFieldData field; | 180 FormFieldData field; |
178 field.form_control_type = "select-one"; | 181 field.form_control_type = "select-one"; |
179 field.option_values = options; | 182 field.option_values = options; |
180 field.option_contents = options; | 183 field.option_contents = options; |
181 | 184 |
182 AutofillProfile profile; | 185 AutofillProfile profile; |
183 profile.SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("CA")); | 186 profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("CA")); |
184 autofill::FillSelectControl(profile, ADDRESS_HOME_COUNTRY, &field); | 187 autofill::FillSelectControl(profile, ADDRESS_HOME_COUNTRY, &field); |
185 EXPECT_EQ(ASCIIToUTF16("Canada"), field.value); | 188 EXPECT_EQ(ASCIIToUTF16("Canada"), field.value); |
186 } | 189 } |
187 | 190 |
188 TEST(SelectControlHandlerTest, AddressCountryAbbrev) { | 191 TEST(SelectControlHandlerTest, AddressCountryAbbrev) { |
189 const char* const kCountries[] = { | 192 const char* const kCountries[] = { |
190 "AL", "CA" | 193 "AL", "CA" |
191 }; | 194 }; |
192 std::vector<string16> options(arraysize(kCountries)); | 195 std::vector<string16> options(arraysize(kCountries)); |
193 for (size_t i = 0; i < arraysize(kCountries); ++i) { | 196 for (size_t i = 0; i < arraysize(kCountries); ++i) { |
194 options[i] = ASCIIToUTF16(kCountries[i]); | 197 options[i] = ASCIIToUTF16(kCountries[i]); |
195 } | 198 } |
196 | 199 |
197 FormFieldData field; | 200 FormFieldData field; |
198 field.form_control_type = "select-one"; | 201 field.form_control_type = "select-one"; |
199 field.option_values = options; | 202 field.option_values = options; |
200 field.option_contents = options; | 203 field.option_contents = options; |
201 | 204 |
202 AutofillProfile profile; | 205 AutofillProfile profile; |
203 profile.SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("Canada")); | 206 profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("Canada")); |
204 autofill::FillSelectControl(profile, ADDRESS_HOME_COUNTRY, &field); | 207 autofill::FillSelectControl(profile, ADDRESS_HOME_COUNTRY, &field); |
205 EXPECT_EQ(ASCIIToUTF16("CA"), field.value); | 208 EXPECT_EQ(ASCIIToUTF16("CA"), field.value); |
206 } | 209 } |
207 | 210 |
208 TEST(SelectControlHandlerTest, AddressStateFull) { | 211 TEST(SelectControlHandlerTest, AddressStateFull) { |
209 const char* const kStates[] = { | 212 const char* const kStates[] = { |
210 "Alabama", "California" | 213 "Alabama", "California" |
211 }; | 214 }; |
212 std::vector<string16> options(arraysize(kStates)); | 215 std::vector<string16> options(arraysize(kStates)); |
213 for (size_t i = 0; i < arraysize(kStates); ++i) { | 216 for (size_t i = 0; i < arraysize(kStates); ++i) { |
214 options[i] = ASCIIToUTF16(kStates[i]); | 217 options[i] = ASCIIToUTF16(kStates[i]); |
215 } | 218 } |
216 | 219 |
217 FormFieldData field; | 220 FormFieldData field; |
218 field.form_control_type = "select-one"; | 221 field.form_control_type = "select-one"; |
219 field.option_values = options; | 222 field.option_values = options; |
220 field.option_contents = options; | 223 field.option_contents = options; |
221 | 224 |
222 AutofillProfile profile; | 225 AutofillProfile profile; |
223 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); | 226 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); |
224 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); | 227 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); |
225 EXPECT_EQ(ASCIIToUTF16("California"), field.value); | 228 EXPECT_EQ(ASCIIToUTF16("California"), field.value); |
226 } | 229 } |
227 | 230 |
228 TEST(SelectControlHandlerTest, AddressStateAbbrev) { | 231 TEST(SelectControlHandlerTest, AddressStateAbbrev) { |
229 const char* const kStates[] = { | 232 const char* const kStates[] = { |
230 "AL", "CA" | 233 "AL", "CA" |
231 }; | 234 }; |
232 std::vector<string16> options(arraysize(kStates)); | 235 std::vector<string16> options(arraysize(kStates)); |
233 for (size_t i = 0; i < arraysize(kStates); ++i) { | 236 for (size_t i = 0; i < arraysize(kStates); ++i) { |
234 options[i] = ASCIIToUTF16(kStates[i]); | 237 options[i] = ASCIIToUTF16(kStates[i]); |
235 } | 238 } |
236 | 239 |
237 FormFieldData field; | 240 FormFieldData field; |
238 field.form_control_type = "select-one"; | 241 field.form_control_type = "select-one"; |
239 field.option_values = options; | 242 field.option_values = options; |
240 field.option_contents = options; | 243 field.option_contents = options; |
241 | 244 |
242 AutofillProfile profile; | 245 AutofillProfile profile; |
243 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California")); | 246 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California")); |
244 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); | 247 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); |
245 EXPECT_EQ(ASCIIToUTF16("CA"), field.value); | 248 EXPECT_EQ(ASCIIToUTF16("CA"), field.value); |
246 } | 249 } |
247 | 250 |
248 TEST(SelectControlHandlerTest, FillByValue) { | 251 TEST(SelectControlHandlerTest, FillByValue) { |
249 const char* const kStates[] = { | 252 const char* const kStates[] = { |
250 "Alabama", "California" | 253 "Alabama", "California" |
251 }; | 254 }; |
252 std::vector<string16> values(arraysize(kStates)); | 255 std::vector<string16> values(arraysize(kStates)); |
253 std::vector<string16> contents(arraysize(kStates)); | 256 std::vector<string16> contents(arraysize(kStates)); |
254 for (size_t i = 0; i < arraysize(kStates); ++i) { | 257 for (size_t i = 0; i < arraysize(kStates); ++i) { |
255 values[i] = ASCIIToUTF16(kStates[i]); | 258 values[i] = ASCIIToUTF16(kStates[i]); |
256 contents[i] = ASCIIToUTF16(base::StringPrintf("%d", static_cast<int>(i))); | 259 contents[i] = ASCIIToUTF16(base::StringPrintf("%d", static_cast<int>(i))); |
257 } | 260 } |
258 | 261 |
259 FormFieldData field; | 262 FormFieldData field; |
260 field.form_control_type = "select-one"; | 263 field.form_control_type = "select-one"; |
261 field.option_values = values; | 264 field.option_values = values; |
262 field.option_contents = contents; | 265 field.option_contents = contents; |
263 | 266 |
264 AutofillProfile profile; | 267 AutofillProfile profile; |
265 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California")); | 268 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California")); |
266 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); | 269 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); |
267 EXPECT_EQ(ASCIIToUTF16("California"), field.value); | 270 EXPECT_EQ(ASCIIToUTF16("California"), field.value); |
268 } | 271 } |
269 | 272 |
270 TEST(SelectControlHandlerTest, FillByContents) { | 273 TEST(SelectControlHandlerTest, FillByContents) { |
271 const char* const kStates[] = { | 274 const char* const kStates[] = { |
272 "Alabama", "California" | 275 "Alabama", "California" |
273 }; | 276 }; |
274 std::vector<string16> values(arraysize(kStates)); | 277 std::vector<string16> values(arraysize(kStates)); |
275 std::vector<string16> contents(arraysize(kStates)); | 278 std::vector<string16> contents(arraysize(kStates)); |
276 for (size_t i = 0; i < arraysize(kStates); ++i) { | 279 for (size_t i = 0; i < arraysize(kStates); ++i) { |
277 values[i] = ASCIIToUTF16(base::StringPrintf("%d", static_cast<int>(i + 1))); | 280 values[i] = ASCIIToUTF16(base::StringPrintf("%d", static_cast<int>(i + 1))); |
278 contents[i] = ASCIIToUTF16(kStates[i]); | 281 contents[i] = ASCIIToUTF16(kStates[i]); |
279 } | 282 } |
280 | 283 |
281 FormFieldData field; | 284 FormFieldData field; |
282 field.form_control_type = "select-one"; | 285 field.form_control_type = "select-one"; |
283 field.option_values = values; | 286 field.option_values = values; |
284 field.option_contents = contents; | 287 field.option_contents = contents; |
285 | 288 |
286 AutofillProfile profile; | 289 AutofillProfile profile; |
287 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California")); | 290 profile.SetRawInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("California")); |
288 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); | 291 autofill::FillSelectControl(profile, ADDRESS_HOME_STATE, &field); |
289 EXPECT_EQ(ASCIIToUTF16("2"), field.value); | 292 EXPECT_EQ(ASCIIToUTF16("2"), field.value); |
290 } | 293 } |
OLD | NEW |