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/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/browser/autofill_common_test.h" | 8 #include "components/autofill/browser/autofill_common_test.h" |
9 #include "components/autofill/browser/credit_card.h" | 9 #include "components/autofill/browser/credit_card.h" |
10 #include "components/autofill/common/form_field_data.h" | 10 #include "components/autofill/common/form_field_data.h" |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); | 242 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); |
243 EXPECT_TRUE(card.IsComplete()); | 243 EXPECT_TRUE(card.IsComplete()); |
244 } | 244 } |
245 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { | 245 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { |
246 SCOPED_TRACE(kInvalidNumbers[i]); | 246 SCOPED_TRACE(kInvalidNumbers[i]); |
247 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); | 247 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); |
248 EXPECT_FALSE(card.IsComplete()); | 248 EXPECT_FALSE(card.IsComplete()); |
249 } | 249 } |
250 } | 250 } |
251 | 251 |
| 252 TEST(CreditCardTest, IsValid) { |
| 253 CreditCard card; |
| 254 // Invalid because expired |
| 255 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("1")); |
| 256 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2010")); |
| 257 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); |
| 258 EXPECT_FALSE(card.IsValid()); |
| 259 |
| 260 // Invalid because card number is not complete |
| 261 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
| 262 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999")); |
| 263 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("41111")); |
| 264 EXPECT_FALSE(card.IsValid()); |
| 265 |
| 266 // Valid |
| 267 card.SetRawInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("12")); |
| 268 card.SetRawInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("9999")); |
| 269 card.SetRawInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("4111111111111111")); |
| 270 EXPECT_TRUE(card.IsValid()); |
| 271 } |
| 272 |
252 TEST(CreditCardTest, InvalidMastercardNumber) { | 273 TEST(CreditCardTest, InvalidMastercardNumber) { |
253 CreditCard card(base::GenerateGUID(), "https://www.example.com/"); | 274 CreditCard card(base::GenerateGUID(), "https://www.example.com/"); |
254 | 275 |
255 test::SetCreditCardInfo(&card, "Baby Face Nelson", | 276 test::SetCreditCardInfo(&card, "Baby Face Nelson", |
256 "5200000000000004", "01", "2010"); | 277 "5200000000000004", "01", "2010"); |
257 EXPECT_EQ("genericCC", card.type()); | 278 EXPECT_EQ("genericCC", card.type()); |
258 } | 279 } |
259 | 280 |
260 // Verify that we preserve exactly what the user typed for credit card numbers. | 281 // Verify that we preserve exactly what the user typed for credit card numbers. |
261 TEST(CreditCardTest, SetRawInfoCreditCardNumber) { | 282 TEST(CreditCardTest, SetRawInfoCreditCardNumber) { |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 // Case insensitivity: | 486 // Case insensitivity: |
466 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/"); | 487 CreditCard credit_card(base::GenerateGUID(), "https://www.example.com/"); |
467 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, | 488 credit_card.SetRawInfo(CREDIT_CARD_NUMBER, |
468 ASCIIToUTF16("6011111111111117")); | 489 ASCIIToUTF16("6011111111111117")); |
469 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); | 490 credit_card.FillSelectControl(CREDIT_CARD_TYPE, "en-US", &field); |
470 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); | 491 EXPECT_EQ(ASCIIToUTF16("discover"), field.value); |
471 } | 492 } |
472 } | 493 } |
473 | 494 |
474 } // namespace autofill | 495 } // namespace autofill |
OLD | NEW |