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 |