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 |