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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/guid.h" | 6 #include "base/guid.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "components/autofill/core/browser/autofill_common_test.h" | 8 #include "components/autofill/core/browser/autofill_common_test.h" |
9 #include "components/autofill/core/browser/credit_card.h" | 9 #include "components/autofill/core/browser/credit_card.h" |
10 #include "components/autofill/core/common/form_field_data.h" | 10 #include "components/autofill/core/common/form_field_data.h" |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); | 259 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); |
260 EXPECT_TRUE(card.IsComplete()); | 260 EXPECT_TRUE(card.IsComplete()); |
261 } | 261 } |
262 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { | 262 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { |
263 SCOPED_TRACE(kInvalidNumbers[i]); | 263 SCOPED_TRACE(kInvalidNumbers[i]); |
264 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); | 264 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); |
265 EXPECT_FALSE(card.IsComplete()); | 265 EXPECT_FALSE(card.IsComplete()); |
266 } | 266 } |
267 } | 267 } |
268 | 268 |
| 269 TEST(CreditCardTest, IsValid) { |
| 270 CreditCard card; |
| 271 // Invalid because expired |
| 272 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 273 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2010")); |
| 274 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); |
| 275 EXPECT_FALSE(card.IsValid()); |
| 276 |
| 277 // Invalid because card number is not complete |
| 278 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
| 279 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999")); |
| 280 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("41111")); |
| 281 EXPECT_FALSE(card.IsValid()); |
| 282 |
| 283 // Valid |
| 284 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
| 285 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999")); |
| 286 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); |
| 287 EXPECT_TRUE(card.IsValid()); |
| 288 } |
| 289 |
269 TEST(CreditCardTest, InvalidMastercardNumber) { | 290 TEST(CreditCardTest, InvalidMastercardNumber) { |
270 CreditCard card(base::GenerateGUID(), "https://www.example.com/"); | 291 CreditCard card(base::GenerateGUID(), "https://www.example.com/"); |
271 | 292 |
272 test::SetCreditCardInfo(&card, "Baby Face Nelson", | 293 test::SetCreditCardInfo(&card, "Baby Face Nelson", |
273 "5200000000000004", "01", "2010"); | 294 "5200000000000004", "01", "2010"); |
274 EXPECT_EQ("genericCC", card.type()); | 295 EXPECT_EQ("genericCC", card.type()); |
275 } | 296 } |
276 | 297 |
277 // Verify that we preserve exactly what the user typed for credit card numbers. | 298 // Verify that we preserve exactly what the user typed for credit card numbers. |
278 TEST(CreditCardTest, SetRawInfoCreditCardNumber) { | 299 TEST(CreditCardTest, SetRawInfoCreditCardNumber) { |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 // Case insensitivity: | 503 // Case insensitivity: |
483 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/"); | 504 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/"); |
484 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, | 505 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, |
485 ASCIIToUTF16("6011111111111117")); | 506 ASCIIToUTF16("6011111111111117")); |
486 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); | 507 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); |
487 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); | 508 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); |
488 } | 509 } |
489 } | 510 } |
490 | 511 |
491 } // namespace autofill | 512 } // namespace autofill |
OLD | NEW |