Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(560)

Unified Diff: components/autofill/browser/credit_card_unittest.cc

Issue 16254010: [Autofill] Update credit card type detection logic. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix a typo Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698