OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "base/utf_string_conversions.h" | 5 #include "base/utf_string_conversions.h" |
6 #include "chrome/browser/autofill/validation.h" | 6 #include "chrome/browser/autofill/validation.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace { | 9 namespace { |
10 | 10 |
(...skipping 16 matching lines...) Expand all Loading... |
27 "4222-2222-2222-2", | 27 "4222-2222-2222-2", |
28 "5019717010103742", | 28 "5019717010103742", |
29 "6331101999990016", | 29 "6331101999990016", |
30 }; | 30 }; |
31 const char* const kInvalidNumbers[] = { | 31 const char* const kInvalidNumbers[] = { |
32 "4111 1111 112", /* too short */ | 32 "4111 1111 112", /* too short */ |
33 "41111111111111111115", /* too long */ | 33 "41111111111111111115", /* too long */ |
34 "4111-1111-1111-1110", /* wrong Luhn checksum */ | 34 "4111-1111-1111-1110", /* wrong Luhn checksum */ |
35 "3056 9309 0259 04aa", /* non-digit characters */ | 35 "3056 9309 0259 04aa", /* non-digit characters */ |
36 }; | 36 }; |
37 | 37 const char* const kValidCreditCardSecurityCode[] = { |
| 38 "323", // 3-digit CSC. |
| 39 "3234", // 4-digit CSC. |
| 40 }; |
| 41 const char* const kInvalidCreditCardSecurityCode[] = { |
| 42 "32", // CSC too short. |
| 43 "12345", // CSC too long. |
| 44 "asd", // non-numeric CSC. |
| 45 }; |
38 } // namespace | 46 } // namespace |
39 | 47 |
40 TEST(AutofillValidation, IsValidCreditCardNumber) { | 48 TEST(AutofillValidation, IsValidCreditCardNumber) { |
41 for (size_t i = 0; i < arraysize(kValidNumbers); ++i) { | 49 for (size_t i = 0; i < arraysize(kValidNumbers); ++i) { |
42 SCOPED_TRACE(kValidNumbers[i]); | 50 SCOPED_TRACE(kValidNumbers[i]); |
43 EXPECT_TRUE( | 51 EXPECT_TRUE( |
44 autofill::IsValidCreditCardNumber(ASCIIToUTF16(kValidNumbers[i]))); | 52 autofill::IsValidCreditCardNumber(ASCIIToUTF16(kValidNumbers[i]))); |
45 } | 53 } |
46 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { | 54 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { |
47 SCOPED_TRACE(kInvalidNumbers[i]); | 55 SCOPED_TRACE(kInvalidNumbers[i]); |
48 EXPECT_FALSE( | 56 EXPECT_FALSE( |
49 autofill::IsValidCreditCardNumber(ASCIIToUTF16(kInvalidNumbers[i]))); | 57 autofill::IsValidCreditCardNumber(ASCIIToUTF16(kInvalidNumbers[i]))); |
50 } | 58 } |
51 } | 59 } |
| 60 |
| 61 TEST(AutofillValidation, IsValidCreditCardSecurityCode) { |
| 62 for (size_t i = 0; i < arraysize(kValidCreditCardSecurityCode); ++i) { |
| 63 SCOPED_TRACE(kValidCreditCardSecurityCode[i]); |
| 64 EXPECT_TRUE( |
| 65 autofill::IsValidCreditCardSecurityCode( |
| 66 ASCIIToUTF16(kValidCreditCardSecurityCode[i]))); |
| 67 } |
| 68 for (size_t i = 0; i < arraysize(kInvalidCreditCardSecurityCode); ++i) { |
| 69 SCOPED_TRACE(kInvalidCreditCardSecurityCode[i]); |
| 70 EXPECT_FALSE( |
| 71 autofill::IsValidCreditCardSecurityCode( |
| 72 ASCIIToUTF16(kInvalidCreditCardSecurityCode[i]))); |
| 73 } |
| 74 } |
| 75 |
OLD | NEW |