| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/autofill/core/browser/validation.h" | 5 #include "components/autofill/core/browser/validation.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 "3530-1113-3330-0000", | 49 "3530-1113-3330-0000", |
| 50 "3566002020360505", | 50 "3566002020360505", |
| 51 "5555 5555 5555 4444", // Mastercard. | 51 "5555 5555 5555 4444", // Mastercard. |
| 52 "5105-1051-0510-5100", | 52 "5105-1051-0510-5100", |
| 53 "4111111111111111", // Visa. | 53 "4111111111111111", // Visa. |
| 54 "4012 8888 8888 1881", | 54 "4012 8888 8888 1881", |
| 55 "4222-2222-2222-2", | 55 "4222-2222-2222-2", |
| 56 "5019717010103742", | 56 "5019717010103742", |
| 57 "6331101999990016", | 57 "6331101999990016", |
| 58 "6247130048162403", | 58 "6247130048162403", |
| 59 "4532261615476013542", // Visa, 19 digits. |
| 60 "6362970000457013", // Elo |
| 59 }; | 61 }; |
| 60 const char* const kInvalidNumbers[] = { | 62 const char* const kInvalidNumbers[] = { |
| 61 "4111 1111 112", /* too short */ | 63 "4111 1111 112", /* too short */ |
| 62 "41111111111111111115", /* too long */ | 64 "41111111111111111115", /* too long */ |
| 63 "4111-1111-1111-1110", /* wrong Luhn checksum */ | 65 "4111-1111-1111-1110", /* wrong Luhn checksum */ |
| 64 "3056 9309 0259 04aa", /* non-digit characters */ | 66 "3056 9309 0259 04aa", /* non-digit characters */ |
| 65 }; | 67 }; |
| 66 const char kCurrentDate[]="1 May 2013"; | 68 const char kCurrentDate[]="1 May 2013"; |
| 67 const IntExpirationDate kValidCreditCardIntExpirationDate[] = { | 69 const IntExpirationDate kValidCreditCardIntExpirationDate[] = { |
| 68 { 2013, 5 }, // Valid month in current year. | 70 { 2013, 5 }, // Valid month in current year. |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 ASCIIToUTF16(GetParam().value), | 341 ASCIIToUTF16(GetParam().value), |
| 340 GetParam().supported_basic_card_networks, &error_message)) | 342 GetParam().supported_basic_card_networks, &error_message)) |
| 341 << "Failed to validate CC number " << GetParam().value; | 343 << "Failed to validate CC number " << GetParam().value; |
| 342 if (!GetParam().expected_valid) { | 344 if (!GetParam().expected_valid) { |
| 343 EXPECT_EQ(l10n_util::GetStringUTF16(GetParam().expected_error_id), | 345 EXPECT_EQ(l10n_util::GetStringUTF16(GetParam().expected_error_id), |
| 344 error_message); | 346 error_message); |
| 345 } | 347 } |
| 346 } | 348 } |
| 347 | 349 |
| 348 const static std::set<std::string> kAllBasicCardNetworks{ | 350 const static std::set<std::string> kAllBasicCardNetworks{ |
| 349 "amex", "discover", "diners", "jcb", | 351 "amex", "discover", "diners", "elo", "jcb", |
| 350 "mastercard", "mir", "unionpay", "visa"}; | 352 "mastercard", "mir", "unionpay", "visa"}; |
| 351 | 353 |
| 352 INSTANTIATE_TEST_CASE_P( | 354 INSTANTIATE_TEST_CASE_P( |
| 353 CreditCardNumber, | 355 CreditCardNumber, |
| 354 AutofillCCNumberValidationTest, | 356 AutofillCCNumberValidationTest, |
| 355 testing::Values( | 357 testing::Values( |
| 356 CCNumberCase(kValidNumbers[0], kAllBasicCardNetworks, true, 0), | 358 CCNumberCase(kValidNumbers[0], kAllBasicCardNetworks, true, 0), |
| 357 CCNumberCase(kValidNumbers[1], kAllBasicCardNetworks, true, 0), | 359 CCNumberCase(kValidNumbers[1], kAllBasicCardNetworks, true, 0), |
| 358 CCNumberCase(kValidNumbers[2], kAllBasicCardNetworks, true, 0), | 360 CCNumberCase(kValidNumbers[2], kAllBasicCardNetworks, true, 0), |
| 359 // Generic card not supported. | 361 // Generic card not supported. |
| (...skipping 17 matching lines...) Expand all Loading... |
| 377 CCNumberCase(kValidNumbers[15], | 379 CCNumberCase(kValidNumbers[15], |
| 378 kAllBasicCardNetworks, | 380 kAllBasicCardNetworks, |
| 379 false, | 381 false, |
| 380 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE), | 382 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE), |
| 381 CCNumberCase(kValidNumbers[16], | 383 CCNumberCase(kValidNumbers[16], |
| 382 kAllBasicCardNetworks, | 384 kAllBasicCardNetworks, |
| 383 false, | 385 false, |
| 384 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE), | 386 IDS_PAYMENTS_VALIDATION_UNSUPPORTED_CREDIT_CARD_TYPE), |
| 385 | 387 |
| 386 CCNumberCase(kValidNumbers[17], kAllBasicCardNetworks, true, 0), | 388 CCNumberCase(kValidNumbers[17], kAllBasicCardNetworks, true, 0), |
| 389 CCNumberCase(kValidNumbers[18], kAllBasicCardNetworks, true, 0), |
| 390 CCNumberCase(kValidNumbers[19], kAllBasicCardNetworks, true, 0), |
| 387 | 391 |
| 388 CCNumberCase(kInvalidNumbers[0], | 392 CCNumberCase(kInvalidNumbers[0], |
| 389 kAllBasicCardNetworks, | 393 kAllBasicCardNetworks, |
| 390 false, | 394 false, |
| 391 IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE), | 395 IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE), |
| 392 CCNumberCase(kInvalidNumbers[1], | 396 CCNumberCase(kInvalidNumbers[1], |
| 393 kAllBasicCardNetworks, | 397 kAllBasicCardNetworks, |
| 394 false, | 398 false, |
| 395 IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE), | 399 IDS_PAYMENTS_CARD_NUMBER_INVALID_VALIDATION_MESSAGE), |
| 396 CCNumberCase(kInvalidNumbers[2], | 400 CCNumberCase(kInvalidNumbers[2], |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 GetCvcLengthForCardType(GetParam().card_type)); | 433 GetCvcLengthForCardType(GetParam().card_type)); |
| 430 } | 434 } |
| 431 | 435 |
| 432 INSTANTIATE_TEST_CASE_P( | 436 INSTANTIATE_TEST_CASE_P( |
| 433 CreditCardCvcLength, | 437 CreditCardCvcLength, |
| 434 AutofillGetCvcLengthForCardType, | 438 AutofillGetCvcLengthForCardType, |
| 435 testing::Values( | 439 testing::Values( |
| 436 GetCvcLengthForCardTypeCase{kAmericanExpressCard, AMEX_CVC_LENGTH}, | 440 GetCvcLengthForCardTypeCase{kAmericanExpressCard, AMEX_CVC_LENGTH}, |
| 437 GetCvcLengthForCardTypeCase{kDinersCard, GENERAL_CVC_LENGTH}, | 441 GetCvcLengthForCardTypeCase{kDinersCard, GENERAL_CVC_LENGTH}, |
| 438 GetCvcLengthForCardTypeCase{kDiscoverCard, GENERAL_CVC_LENGTH}, | 442 GetCvcLengthForCardTypeCase{kDiscoverCard, GENERAL_CVC_LENGTH}, |
| 443 GetCvcLengthForCardTypeCase{kEloCard, GENERAL_CVC_LENGTH}, |
| 439 GetCvcLengthForCardTypeCase{kGenericCard, GENERAL_CVC_LENGTH}, | 444 GetCvcLengthForCardTypeCase{kGenericCard, GENERAL_CVC_LENGTH}, |
| 440 GetCvcLengthForCardTypeCase{kJCBCard, GENERAL_CVC_LENGTH}, | 445 GetCvcLengthForCardTypeCase{kJCBCard, GENERAL_CVC_LENGTH}, |
| 441 GetCvcLengthForCardTypeCase{kMasterCard, GENERAL_CVC_LENGTH}, | 446 GetCvcLengthForCardTypeCase{kMasterCard, GENERAL_CVC_LENGTH}, |
| 442 GetCvcLengthForCardTypeCase{kMirCard, GENERAL_CVC_LENGTH}, | 447 GetCvcLengthForCardTypeCase{kMirCard, GENERAL_CVC_LENGTH}, |
| 443 GetCvcLengthForCardTypeCase{kUnionPay, GENERAL_CVC_LENGTH}, | 448 GetCvcLengthForCardTypeCase{kUnionPay, GENERAL_CVC_LENGTH}, |
| 444 GetCvcLengthForCardTypeCase{kVisaCard, GENERAL_CVC_LENGTH})); | 449 GetCvcLengthForCardTypeCase{kVisaCard, GENERAL_CVC_LENGTH})); |
| 445 | 450 |
| 446 class AutofillIsUPIVirtualPaymentAddress | 451 class AutofillIsUPIVirtualPaymentAddress |
| 447 : public testing::TestWithParam<std::string> {}; | 452 : public testing::TestWithParam<std::string> {}; |
| 448 | 453 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 "sib", | 488 "sib", |
| 484 "sbi", | 489 "sbi", |
| 485 "tjsp", | 490 "tjsp", |
| 486 "uco", | 491 "uco", |
| 487 "unionbank", | 492 "unionbank", |
| 488 "united", | 493 "united", |
| 489 "vijb", | 494 "vijb", |
| 490 "ybl")); | 495 "ybl")); |
| 491 | 496 |
| 492 } // namespace autofill | 497 } // namespace autofill |
| OLD | NEW |