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

Unified Diff: components/autofill/core/browser/validation_unittest.cc

Issue 2611863002: Refactors cvc and expiration date validation in CC upload logic as well as unmask prompt. (Closed)
Patch Set: Addressed comments Created 3 years, 11 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
« no previous file with comments | « components/autofill/core/browser/validation.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/browser/validation_unittest.cc
diff --git a/components/autofill/core/browser/validation_unittest.cc b/components/autofill/core/browser/validation_unittest.cc
index c7b880b0a17ad7e9315f9347dac3ab3d71485d50..798f53462bd8be19245263e7d32851f75d83d5b5 100644
--- a/components/autofill/core/browser/validation_unittest.cc
+++ b/components/autofill/core/browser/validation_unittest.cc
@@ -7,6 +7,7 @@
#include "base/macros.h"
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
+#include "components/autofill/core/browser/credit_card.h"
#include "components/autofill/core/browser/validation.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -25,6 +26,11 @@ struct IntExpirationDate {
const int month;
};
+struct SecurityCodeCardTypePair {
+ const char* security_code;
+ const char* card_type;
+};
+
// From https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm
const char* const kValidNumbers[] = {
"378282246310005",
@@ -64,14 +70,16 @@ const IntExpirationDate kInvalidCreditCardIntExpirationDate[] = {
{ 2015, 13 }, // Not a real month.
{ 2015, 0 }, // Zero is legal in the CC class but is not a valid date.
};
-const char* const kValidCreditCardSecurityCode[] = {
- "323", // 3-digit CSC.
- "3234", // 4-digit CSC.
+const SecurityCodeCardTypePair kValidSecurityCodeCardTypePairs[] = {
+ { "323", kGenericCard }, // 3-digit CSC.
+ { "3234", kAmericanExpressCard }, // 4-digit CSC.
};
-const char* const kInvalidCreditCardSecurityCode[] = {
- "32", // CSC too short.
- "12345", // CSC too long.
- "asd", // non-numeric CSC.
+const SecurityCodeCardTypePair kInvalidSecurityCodeCardTypePairs[] = {
+ { "32", kGenericCard }, // CSC too short.
+ { "323", kAmericanExpressCard }, // CSC too short.
+ { "3234", kGenericCard }, // CSC too long.
+ { "12345", kAmericanExpressCard }, // CSC too long.
+ { "asd", kGenericCard }, // non-numeric CSC.
};
const char* const kValidEmailAddress[] = {
"user@example",
@@ -85,10 +93,6 @@ const char* const kInvalidEmailAddress[] = {
"user@",
"user@=example.com"
};
-const char kAmericanExpressCard[] = "341111111111111";
-const char kVisaCard[] = "4111111111111111";
-const char kAmericanExpressCVC[] = "1234";
-const char kVisaCVC[] = "123";
} // namespace
TEST(AutofillValidation, IsValidCreditCardNumber) {
@@ -117,14 +121,19 @@ TEST(AutofillValidation, IsValidCreditCardIntExpirationDate) {
EXPECT_TRUE(!IsValidCreditCardExpirationDate(data.year, data.month, now));
}
}
+
TEST(AutofillValidation, IsValidCreditCardSecurityCode) {
- for (const char* valid_code : kValidCreditCardSecurityCode) {
- SCOPED_TRACE(valid_code);
- EXPECT_TRUE(IsValidCreditCardSecurityCode(ASCIIToUTF16(valid_code)));
+ for (const auto data : kValidSecurityCodeCardTypePairs) {
+ SCOPED_TRACE(data.security_code);
+ SCOPED_TRACE(data.card_type);
+ EXPECT_TRUE(IsValidCreditCardSecurityCode(ASCIIToUTF16(data.security_code),
+ data.card_type));
}
- for (const char* invalid_code : kInvalidCreditCardSecurityCode) {
- SCOPED_TRACE(invalid_code);
- EXPECT_FALSE(IsValidCreditCardSecurityCode(ASCIIToUTF16(invalid_code)));
+ for (const auto data : kInvalidSecurityCodeCardTypePairs) {
+ SCOPED_TRACE(data.security_code);
+ SCOPED_TRACE(data.card_type);
+ EXPECT_FALSE(IsValidCreditCardSecurityCode(ASCIIToUTF16(data.security_code),
+ data.card_type));
}
}
@@ -139,19 +148,4 @@ TEST(AutofillValidation, IsValidEmailAddress) {
}
}
-TEST(AutofillValidation, IsValidCreditCardSecurityCodeWithNumber) {
- EXPECT_TRUE(IsValidCreditCardSecurityCode(
- ASCIIToUTF16(kAmericanExpressCVC), ASCIIToUTF16(kAmericanExpressCard)));
- EXPECT_TRUE(IsValidCreditCardSecurityCode(
- ASCIIToUTF16(kVisaCVC), ASCIIToUTF16(kVisaCard)));
- EXPECT_FALSE(IsValidCreditCardSecurityCode(
- ASCIIToUTF16(kVisaCVC), ASCIIToUTF16(kAmericanExpressCard)));
- EXPECT_FALSE(IsValidCreditCardSecurityCode(
- ASCIIToUTF16(kAmericanExpressCVC), ASCIIToUTF16(kVisaCard)));
- EXPECT_TRUE(IsValidCreditCardSecurityCode(
- ASCIIToUTF16(kVisaCVC), ASCIIToUTF16(kInvalidNumbers[0])));
- EXPECT_FALSE(IsValidCreditCardSecurityCode(
- ASCIIToUTF16(kAmericanExpressCVC), ASCIIToUTF16(kInvalidNumbers[0])));
-}
-
} // namespace autofill
« no previous file with comments | « components/autofill/core/browser/validation.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698