| 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/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
| 7 #include "components/autofill/browser/autofill_common_test.h" | 7 #include "components/autofill/browser/autofill_common_test.h" |
| 8 #include "components/autofill/browser/credit_card.h" | 8 #include "components/autofill/browser/credit_card.h" |
| 9 #include "components/autofill/common/form_field_data.h" | 9 #include "components/autofill/common/form_field_data.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 }; | 39 }; |
| 40 | 40 |
| 41 } // namespace | 41 } // namespace |
| 42 | 42 |
| 43 // Tests credit card summary string generation. This test simulates a variety | 43 // Tests credit card summary string generation. This test simulates a variety |
| 44 // of different possible summary strings. Variations occur based on the | 44 // of different possible summary strings. Variations occur based on the |
| 45 // existence of credit card number, month, and year fields. | 45 // existence of credit card number, month, and year fields. |
| 46 TEST(CreditCardTest, PreviewSummaryAndObfuscatedNumberStrings) { | 46 TEST(CreditCardTest, PreviewSummaryAndObfuscatedNumberStrings) { |
| 47 // Case 0: empty credit card. | 47 // Case 0: empty credit card. |
| 48 CreditCard credit_card0; | 48 CreditCard credit_card0; |
| 49 string16 summary0 = credit_card0.Label(); | 49 base::string16 summary0 = credit_card0.Label(); |
| 50 EXPECT_EQ(string16(), summary0); | 50 EXPECT_EQ(base::string16(), summary0); |
| 51 string16 obfuscated0 = credit_card0.ObfuscatedNumber(); | 51 base::string16 obfuscated0 = credit_card0.ObfuscatedNumber(); |
| 52 EXPECT_EQ(string16(), obfuscated0); | 52 EXPECT_EQ(base::string16(), obfuscated0); |
| 53 | 53 |
| 54 // Case 00: Empty credit card with empty strings. | 54 // Case 00: Empty credit card with empty strings. |
| 55 CreditCard credit_card00; | 55 CreditCard credit_card00; |
| 56 autofill_test::SetCreditCardInfo(&credit_card00, | 56 autofill_test::SetCreditCardInfo(&credit_card00, |
| 57 "John Dillinger", "", "", ""); | 57 "John Dillinger", "", "", ""); |
| 58 string16 summary00 = credit_card00.Label(); | 58 base::string16 summary00 = credit_card00.Label(); |
| 59 EXPECT_EQ(string16(ASCIIToUTF16("John Dillinger")), summary00); | 59 EXPECT_EQ(base::string16(ASCIIToUTF16("John Dillinger")), summary00); |
| 60 string16 obfuscated00 = credit_card00.ObfuscatedNumber(); | 60 base::string16 obfuscated00 = credit_card00.ObfuscatedNumber(); |
| 61 EXPECT_EQ(string16(), obfuscated00); | 61 EXPECT_EQ(base::string16(), obfuscated00); |
| 62 | 62 |
| 63 // Case 1: No credit card number. | 63 // Case 1: No credit card number. |
| 64 CreditCard credit_card1; | 64 CreditCard credit_card1; |
| 65 autofill_test::SetCreditCardInfo(&credit_card1, | 65 autofill_test::SetCreditCardInfo(&credit_card1, |
| 66 "John Dillinger", "", "01", "2010"); | 66 "John Dillinger", "", "01", "2010"); |
| 67 string16 summary1 = credit_card1.Label(); | 67 base::string16 summary1 = credit_card1.Label(); |
| 68 EXPECT_EQ(string16(ASCIIToUTF16("John Dillinger")), summary1); | 68 EXPECT_EQ(base::string16(ASCIIToUTF16("John Dillinger")), summary1); |
| 69 string16 obfuscated1 = credit_card1.ObfuscatedNumber(); | 69 base::string16 obfuscated1 = credit_card1.ObfuscatedNumber(); |
| 70 EXPECT_EQ(string16(), obfuscated1); | 70 EXPECT_EQ(base::string16(), obfuscated1); |
| 71 | 71 |
| 72 // Case 2: No month. | 72 // Case 2: No month. |
| 73 CreditCard credit_card2; | 73 CreditCard credit_card2; |
| 74 autofill_test::SetCreditCardInfo(&credit_card2, | 74 autofill_test::SetCreditCardInfo(&credit_card2, |
| 75 "John Dillinger", "5105 1051 0510 5100", "", "2010"); | 75 "John Dillinger", "5105 1051 0510 5100", "", "2010"); |
| 76 string16 summary2 = credit_card2.Label(); | 76 base::string16 summary2 = credit_card2.Label(); |
| 77 EXPECT_EQ(ASCIIToUTF16("************5100"), summary2); | 77 EXPECT_EQ(ASCIIToUTF16("************5100"), summary2); |
| 78 string16 obfuscated2 = credit_card2.ObfuscatedNumber(); | 78 base::string16 obfuscated2 = credit_card2.ObfuscatedNumber(); |
| 79 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated2); | 79 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated2); |
| 80 | 80 |
| 81 // Case 3: No year. | 81 // Case 3: No year. |
| 82 CreditCard credit_card3; | 82 CreditCard credit_card3; |
| 83 autofill_test::SetCreditCardInfo(&credit_card3, | 83 autofill_test::SetCreditCardInfo(&credit_card3, |
| 84 "John Dillinger", "5105 1051 0510 5100", "01", ""); | 84 "John Dillinger", "5105 1051 0510 5100", "01", ""); |
| 85 string16 summary3 = credit_card3.Label(); | 85 base::string16 summary3 = credit_card3.Label(); |
| 86 EXPECT_EQ(ASCIIToUTF16("************5100"), summary3); | 86 EXPECT_EQ(ASCIIToUTF16("************5100"), summary3); |
| 87 string16 obfuscated3 = credit_card3.ObfuscatedNumber(); | 87 base::string16 obfuscated3 = credit_card3.ObfuscatedNumber(); |
| 88 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated3); | 88 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated3); |
| 89 | 89 |
| 90 // Case 4: Have everything. | 90 // Case 4: Have everything. |
| 91 CreditCard credit_card4; | 91 CreditCard credit_card4; |
| 92 autofill_test::SetCreditCardInfo(&credit_card4, | 92 autofill_test::SetCreditCardInfo(&credit_card4, |
| 93 "John Dillinger", "5105 1051 0510 5100", "01", "2010"); | 93 "John Dillinger", "5105 1051 0510 5100", "01", "2010"); |
| 94 string16 summary4 = credit_card4.Label(); | 94 base::string16 summary4 = credit_card4.Label(); |
| 95 EXPECT_EQ(ASCIIToUTF16("************5100, Exp: 01/2010"), summary4); | 95 EXPECT_EQ(ASCIIToUTF16("************5100, Exp: 01/2010"), summary4); |
| 96 string16 obfuscated4 = credit_card4.ObfuscatedNumber(); | 96 base::string16 obfuscated4 = credit_card4.ObfuscatedNumber(); |
| 97 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated4); | 97 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated4); |
| 98 | 98 |
| 99 // Case 5: Very long credit card | 99 // Case 5: Very long credit card |
| 100 CreditCard credit_card5; | 100 CreditCard credit_card5; |
| 101 autofill_test::SetCreditCardInfo(&credit_card5, | 101 autofill_test::SetCreditCardInfo(&credit_card5, |
| 102 "John Dillinger", | 102 "John Dillinger", |
| 103 "0123456789 0123456789 0123456789 5105 1051 0510 5100", "01", "2010"); | 103 "0123456789 0123456789 0123456789 5105 1051 0510 5100", "01", "2010"); |
| 104 string16 summary5 = credit_card5.Label(); | 104 base::string16 summary5 = credit_card5.Label(); |
| 105 EXPECT_EQ(ASCIIToUTF16("********************5100, Exp: 01/2010"), summary5); | 105 EXPECT_EQ(ASCIIToUTF16("********************5100, Exp: 01/2010"), summary5); |
| 106 string16 obfuscated5 = credit_card5.ObfuscatedNumber(); | 106 base::string16 obfuscated5 = credit_card5.ObfuscatedNumber(); |
| 107 EXPECT_EQ(ASCIIToUTF16("********************5100"), obfuscated5); | 107 EXPECT_EQ(ASCIIToUTF16("********************5100"), obfuscated5); |
| 108 } | 108 } |
| 109 | 109 |
| 110 TEST(CreditCardTest, AssignmentOperator) { | 110 TEST(CreditCardTest, AssignmentOperator) { |
| 111 CreditCard a, b; | 111 CreditCard a, b; |
| 112 | 112 |
| 113 // Result of assignment should be logically equal to the original profile. | 113 // Result of assignment should be logically equal to the original profile. |
| 114 autofill_test::SetCreditCardInfo(&a, "John Dillinger", | 114 autofill_test::SetCreditCardInfo(&a, "John Dillinger", |
| 115 "123456789012", "01", "2010"); | 115 "123456789012", "01", "2010"); |
| 116 b = a; | 116 b = a; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("Apr"), "en-US"); | 184 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("Apr"), "en-US"); |
| 185 EXPECT_EQ(ASCIIToUTF16("04"), card.GetRawInfo(CREDIT_CARD_EXP_MONTH)); | 185 EXPECT_EQ(ASCIIToUTF16("04"), card.GetRawInfo(CREDIT_CARD_EXP_MONTH)); |
| 186 EXPECT_EQ(4, card.expiration_month()); | 186 EXPECT_EQ(4, card.expiration_month()); |
| 187 } | 187 } |
| 188 | 188 |
| 189 TEST(CreditCardTest, CreditCardType) { | 189 TEST(CreditCardTest, CreditCardType) { |
| 190 CreditCard card; | 190 CreditCard card; |
| 191 | 191 |
| 192 // The card type cannot be set directly. | 192 // The card type cannot be set directly. |
| 193 card.SetRawInfo(CREDIT_CARD_TYPE, ASCIIToUTF16("Visa")); | 193 card.SetRawInfo(CREDIT_CARD_TYPE, ASCIIToUTF16("Visa")); |
| 194 EXPECT_EQ(string16(), card.GetRawInfo(CREDIT_CARD_TYPE)); | 194 EXPECT_EQ(base::string16(), card.GetRawInfo(CREDIT_CARD_TYPE)); |
| 195 | 195 |
| 196 // Setting the number should implicitly set the type. | 196 // Setting the number should implicitly set the type. |
| 197 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111 1111 1111 1111")); | 197 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111 1111 1111 1111")); |
| 198 EXPECT_EQ(ASCIIToUTF16("Visa"), card.GetRawInfo(CREDIT_CARD_TYPE)); | 198 EXPECT_EQ(ASCIIToUTF16("Visa"), card.GetRawInfo(CREDIT_CARD_TYPE)); |
| 199 } | 199 } |
| 200 | 200 |
| 201 TEST(CreditCardTest, CreditCardVerificationCode) { | 201 TEST(CreditCardTest, CreditCardVerificationCode) { |
| 202 CreditCard card; | 202 CreditCard card; |
| 203 | 203 |
| 204 // The verification code cannot be set, as Chrome does not store this data. | 204 // The verification code cannot be set, as Chrome does not store this data. |
| 205 card.SetRawInfo(CREDIT_CARD_VERIFICATION_CODE, ASCIIToUTF16("999")); | 205 card.SetRawInfo(CREDIT_CARD_VERIFICATION_CODE, ASCIIToUTF16("999")); |
| 206 EXPECT_EQ(string16(), card.GetRawInfo(CREDIT_CARD_VERIFICATION_CODE)); | 206 EXPECT_EQ(base::string16(), card.GetRawInfo(CREDIT_CARD_VERIFICATION_CODE)); |
| 207 } | 207 } |
| 208 | 208 |
| 209 | 209 |
| 210 TEST(CreditCardTest, CreditCardMonthExact) { | 210 TEST(CreditCardTest, CreditCardMonthExact) { |
| 211 const char* const kMonthsNumeric[] = { | 211 const char* const kMonthsNumeric[] = { |
| 212 "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", | 212 "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", |
| 213 }; | 213 }; |
| 214 std::vector<string16> options(arraysize(kMonthsNumeric)); | 214 std::vector<base::string16> options(arraysize(kMonthsNumeric)); |
| 215 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { | 215 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { |
| 216 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); | 216 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); |
| 217 } | 217 } |
| 218 | 218 |
| 219 FormFieldData field; | 219 FormFieldData field; |
| 220 field.form_control_type = "select-one"; | 220 field.form_control_type = "select-one"; |
| 221 field.option_values = options; | 221 field.option_values = options; |
| 222 field.option_contents = options; | 222 field.option_contents = options; |
| 223 | 223 |
| 224 CreditCard credit_card; | 224 CreditCard credit_card; |
| 225 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 225 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
| 226 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); | 226 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); |
| 227 EXPECT_EQ(ASCIIToUTF16("01"), field.value); | 227 EXPECT_EQ(ASCIIToUTF16("01"), field.value); |
| 228 } | 228 } |
| 229 | 229 |
| 230 TEST(CreditCardTest, CreditCardMonthAbbreviated) { | 230 TEST(CreditCardTest, CreditCardMonthAbbreviated) { |
| 231 const char* const kMonthsAbbreviated[] = { | 231 const char* const kMonthsAbbreviated[] = { |
| 232 "Jan", "Feb", "Mar", "Apr", "May", "Jun", | 232 "Jan", "Feb", "Mar", "Apr", "May", "Jun", |
| 233 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", | 233 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", |
| 234 }; | 234 }; |
| 235 std::vector<string16> options(arraysize(kMonthsAbbreviated)); | 235 std::vector<base::string16> options(arraysize(kMonthsAbbreviated)); |
| 236 for (size_t i = 0; i < arraysize(kMonthsAbbreviated); ++i) { | 236 for (size_t i = 0; i < arraysize(kMonthsAbbreviated); ++i) { |
| 237 options[i] = ASCIIToUTF16(kMonthsAbbreviated[i]); | 237 options[i] = ASCIIToUTF16(kMonthsAbbreviated[i]); |
| 238 } | 238 } |
| 239 | 239 |
| 240 FormFieldData field; | 240 FormFieldData field; |
| 241 field.form_control_type = "select-one"; | 241 field.form_control_type = "select-one"; |
| 242 field.option_values = options; | 242 field.option_values = options; |
| 243 field.option_contents = options; | 243 field.option_contents = options; |
| 244 | 244 |
| 245 CreditCard credit_card; | 245 CreditCard credit_card; |
| 246 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 246 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
| 247 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); | 247 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); |
| 248 EXPECT_EQ(ASCIIToUTF16("Jan"), field.value); | 248 EXPECT_EQ(ASCIIToUTF16("Jan"), field.value); |
| 249 } | 249 } |
| 250 | 250 |
| 251 TEST(CreditCardTest, CreditCardMonthFull) { | 251 TEST(CreditCardTest, CreditCardMonthFull) { |
| 252 const char* const kMonthsFull[] = { | 252 const char* const kMonthsFull[] = { |
| 253 "January", "February", "March", "April", "May", "June", | 253 "January", "February", "March", "April", "May", "June", |
| 254 "July", "August", "September", "October", "November", "December", | 254 "July", "August", "September", "October", "November", "December", |
| 255 }; | 255 }; |
| 256 std::vector<string16> options(arraysize(kMonthsFull)); | 256 std::vector<base::string16> options(arraysize(kMonthsFull)); |
| 257 for (size_t i = 0; i < arraysize(kMonthsFull); ++i) { | 257 for (size_t i = 0; i < arraysize(kMonthsFull); ++i) { |
| 258 options[i] = ASCIIToUTF16(kMonthsFull[i]); | 258 options[i] = ASCIIToUTF16(kMonthsFull[i]); |
| 259 } | 259 } |
| 260 | 260 |
| 261 FormFieldData field; | 261 FormFieldData field; |
| 262 field.form_control_type = "select-one"; | 262 field.form_control_type = "select-one"; |
| 263 field.option_values = options; | 263 field.option_values = options; |
| 264 field.option_contents = options; | 264 field.option_contents = options; |
| 265 | 265 |
| 266 CreditCard credit_card; | 266 CreditCard credit_card; |
| 267 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 267 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
| 268 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); | 268 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); |
| 269 EXPECT_EQ(ASCIIToUTF16("January"), field.value); | 269 EXPECT_EQ(ASCIIToUTF16("January"), field.value); |
| 270 } | 270 } |
| 271 | 271 |
| 272 TEST(CreditCardTest, CreditCardMonthNumeric) { | 272 TEST(CreditCardTest, CreditCardMonthNumeric) { |
| 273 const char* const kMonthsNumeric[] = { | 273 const char* const kMonthsNumeric[] = { |
| 274 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", | 274 "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", |
| 275 }; | 275 }; |
| 276 std::vector<string16> options(arraysize(kMonthsNumeric)); | 276 std::vector<base::string16> options(arraysize(kMonthsNumeric)); |
| 277 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { | 277 for (size_t i = 0; i < arraysize(kMonthsNumeric); ++i) { |
| 278 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); | 278 options[i] = ASCIIToUTF16(kMonthsNumeric[i]); |
| 279 } | 279 } |
| 280 | 280 |
| 281 FormFieldData field; | 281 FormFieldData field; |
| 282 field.form_control_type = "select-one"; | 282 field.form_control_type = "select-one"; |
| 283 field.option_values = options; | 283 field.option_values = options; |
| 284 field.option_contents = options; | 284 field.option_contents = options; |
| 285 | 285 |
| 286 CreditCard credit_card; | 286 CreditCard credit_card; |
| 287 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 287 credit_card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
| 288 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); | 288 credit_card.FillSelectControl(CREDIT_CARD_EXP_MONTH, "en-US", &field); |
| 289 EXPECT_EQ(ASCIIToUTF16("1"), field.value); | 289 EXPECT_EQ(ASCIIToUTF16("1"), field.value); |
| 290 } | 290 } |
| 291 | 291 |
| 292 TEST(CreditCardTest, CreditCardTwoDigitYear) { | 292 TEST(CreditCardTest, CreditCardTwoDigitYear) { |
| 293 const char* const kYears[] = { | 293 const char* const kYears[] = { |
| 294 "12", "13", "14", "15", "16", "17", "18", "19" | 294 "12", "13", "14", "15", "16", "17", "18", "19" |
| 295 }; | 295 }; |
| 296 std::vector<string16> options(arraysize(kYears)); | 296 std::vector<base::string16> options(arraysize(kYears)); |
| 297 for (size_t i = 0; i < arraysize(kYears); ++i) { | 297 for (size_t i = 0; i < arraysize(kYears); ++i) { |
| 298 options[i] = ASCIIToUTF16(kYears[i]); | 298 options[i] = ASCIIToUTF16(kYears[i]); |
| 299 } | 299 } |
| 300 | 300 |
| 301 FormFieldData field; | 301 FormFieldData field; |
| 302 field.form_control_type = "select-one"; | 302 field.form_control_type = "select-one"; |
| 303 field.option_values = options; | 303 field.option_values = options; |
| 304 field.option_contents = options; | 304 field.option_contents = options; |
| 305 | 305 |
| 306 CreditCard credit_card; | 306 CreditCard credit_card; |
| 307 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2017")); | 307 credit_card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2017")); |
| 308 credit_card.FillSelectControl(CREDIT_CARD_EXP_4_DIGIT_YEAR, "en-US", &field); | 308 credit_card.FillSelectControl(CREDIT_CARD_EXP_4_DIGIT_YEAR, "en-US", &field); |
| 309 EXPECT_EQ(ASCIIToUTF16("17"), field.value); | 309 EXPECT_EQ(ASCIIToUTF16("17"), field.value); |
| 310 EXPECT_EQ(2017, credit_card.expiration_year()); | 310 EXPECT_EQ(2017, credit_card.expiration_year()); |
| 311 } | 311 } |
| 312 | 312 |
| 313 TEST(CreditCardTest, CreditCardTypeSelectControl) { | 313 TEST(CreditCardTest, CreditCardTypeSelectControl) { |
| 314 const char* const kCreditCardTypes[] = { | 314 const char* const kCreditCardTypes[] = { |
| 315 "Visa", "Master Card", "AmEx", "discover" | 315 "Visa", "Master Card", "AmEx", "discover" |
| 316 }; | 316 }; |
| 317 std::vector<string16> options(arraysize(kCreditCardTypes)); | 317 std::vector<base::string16> options(arraysize(kCreditCardTypes)); |
| 318 for (size_t i = 0; i < arraysize(kCreditCardTypes); ++i) { | 318 for (size_t i = 0; i < arraysize(kCreditCardTypes); ++i) { |
| 319 options[i] = ASCIIToUTF16(kCreditCardTypes[i]); | 319 options[i] = ASCIIToUTF16(kCreditCardTypes[i]); |
| 320 } | 320 } |
| 321 | 321 |
| 322 FormFieldData field; | 322 FormFieldData field; |
| 323 field.form_control_type = "select-one"; | 323 field.form_control_type = "select-one"; |
| 324 field.option_values = options; | 324 field.option_values = options; |
| 325 field.option_contents = options; | 325 field.option_contents = options; |
| 326 | 326 |
| 327 // Credit card types are inferred from the numbers, so we use test numbers for | 327 // Credit card types are inferred from the numbers, so we use test numbers for |
| (...skipping 28 matching lines...) Expand all Loading... |
| 356 | 356 |
| 357 { | 357 { |
| 358 // Case insensitivity: | 358 // Case insensitivity: |
| 359 CreditCard credit_card; | 359 CreditCard credit_card; |
| 360 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, | 360 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, |
| 361 ASCIIToUTF16("6011111111111117")); | 361 ASCIIToUTF16("6011111111111117")); |
| 362 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); | 362 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); |
| 363 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); | 363 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); |
| 364 } | 364 } |
| 365 } | 365 } |
| OLD | NEW |