Chromium Code Reviews| Index: components/autofill/browser/credit_card_unittest.cc |
| diff --git a/components/autofill/browser/credit_card_unittest.cc b/components/autofill/browser/credit_card_unittest.cc |
| index ec0b4ed7c2cdd59e4db9691eb5bb2390150b356c..d7b3622df65d062606af9bb3ab8a8fb363616d24 100644 |
| --- a/components/autofill/browser/credit_card_unittest.cc |
| +++ b/components/autofill/browser/credit_card_unittest.cc |
| @@ -40,6 +40,11 @@ const char* const kInvalidNumbers[] = { |
| "3056 9309 0259 04aa", /* non-digit characters */ |
| }; |
| +// A simple wrapper function to handle string type conversion. |
| +std::string GetCreditCardType(const std::string& number) { |
| + return CreditCard::GetCreditCardType(ASCIIToUTF16(number)); |
| +} |
| + |
| } // namespace |
| // Tests credit card summary string generation. This test simulates a variety |
| @@ -398,4 +403,48 @@ TEST(CreditCardTest, CreditCardTypeSelectControl) { |
| } |
| } |
| +TEST(CreditCardTest, GetCreditCardType) { |
| + // Verify the relevant sample numbers from |
| + // http://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm |
| + EXPECT_EQ(kAmericanExpressCard, GetCreditCardType("378282246310005")); |
|
Evan Stade
2013/06/10 18:59:47
I think the most common way to do this in tests is
Ilya Sherman
2013/06/18 03:37:38
Done.
|
| + EXPECT_EQ(kAmericanExpressCard, GetCreditCardType("371449635398431")); |
| + EXPECT_EQ(kAmericanExpressCard, GetCreditCardType("378734493671000")); |
| + EXPECT_EQ(kDinersCard, GetCreditCardType("30569309025904")); |
| + EXPECT_EQ(kDinersCard, GetCreditCardType("38520000023237")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6011111111111117")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6011000990139424")); |
| + EXPECT_EQ(kJCBCard, GetCreditCardType("3530111333300000")); |
| + EXPECT_EQ(kJCBCard, GetCreditCardType("3566002020360505")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5555555555554444")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5105105105105100")); |
| + EXPECT_EQ(kVisaCard, GetCreditCardType("4111111111111111")); |
| + EXPECT_EQ(kVisaCard, GetCreditCardType("4012888888881881")); |
| + EXPECT_EQ(kVisaCard, GetCreditCardType("4222222222222")); |
| + |
| + // Verify the relevant sample numbers from |
| + // http://auricsystems.com/support-center/sample-credit-card-numbers/ |
| + EXPECT_EQ(kAmericanExpressCard, GetCreditCardType("343434343434343")); |
| + EXPECT_EQ(kAmericanExpressCard, GetCreditCardType("371144371144376")); |
| + EXPECT_EQ(kAmericanExpressCard, GetCreditCardType("341134113411347")); |
| + EXPECT_EQ(kDinersCard, GetCreditCardType("36438936438936")); |
| + EXPECT_EQ(kDinersCard, GetCreditCardType("36110361103612")); |
| + EXPECT_EQ(kDinersCard, GetCreditCardType("36111111111111")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6011016011016011")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6011000990139424")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6011000000000004")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6011000995500000")); |
| + EXPECT_EQ(kDiscoverCard, GetCreditCardType("6500000000000002")); |
| + EXPECT_EQ(kJCBCard, GetCreditCardType("3566003566003566")); |
| + EXPECT_EQ(kJCBCard, GetCreditCardType("3528000000000007")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5500005555555559")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5555555555555557")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5454545454545454")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5555515555555551")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5405222222222226")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5478050000000007")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5111005111051128")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5112345112345114")); |
| + EXPECT_EQ(kMasterCard, GetCreditCardType("5115915115915118")); |
| +} |
|
benquan
2013/06/08 07:27:57
Please add a test for kGenericCard and some negati
Ilya Sherman
2013/06/18 03:37:38
Good call -- done.
|
| + |
| } // namespace autofill |