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

Side by Side Diff: chrome/browser/autofill/credit_card_unittest.cc

Issue 7465041: GTTF: Use a fresh TestingBrowserProcess for each test, part #4 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/autofill/autofill_common_test.h" 7 #include "chrome/browser/autofill/autofill_common_test.h"
8 #include "chrome/browser/autofill/credit_card.h" 8 #include "chrome/browser/autofill/credit_card.h"
9 #include "chrome/test/testing_browser_process_test.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 11
11 namespace { 12 namespace {
12 13
13 // From https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card _numbers.htm 14 // From https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card _numbers.htm
14 const char* const kValidNumbers[] = { 15 const char* const kValidNumbers[] = {
15 "378282246310005", 16 "378282246310005",
16 "3714 4963 5398 431", 17 "3714 4963 5398 431",
17 "3787-3449-3671-000", 18 "3787-3449-3671-000",
18 "5610591081018250", 19 "5610591081018250",
(...skipping 13 matching lines...) Expand all
32 }; 33 };
33 const char* const kInvalidNumbers[] = { 34 const char* const kInvalidNumbers[] = {
34 "4111 1111 112", /* too short */ 35 "4111 1111 112", /* too short */
35 "41111111111111111115", /* too long */ 36 "41111111111111111115", /* too long */
36 "4111-1111-1111-1110", /* wrong Luhn checksum */ 37 "4111-1111-1111-1110", /* wrong Luhn checksum */
37 "3056 9309 0259 04aa", /* non-digit characters */ 38 "3056 9309 0259 04aa", /* non-digit characters */
38 }; 39 };
39 40
40 } // namespace 41 } // namespace
41 42
43 typedef TestingBrowserProcessTest CreditCardTest;
44
42 // Tests credit card summary string generation. This test simulates a variety 45 // Tests credit card summary string generation. This test simulates a variety
43 // of different possible summary strings. Variations occur based on the 46 // of different possible summary strings. Variations occur based on the
44 // existence of credit card number, month, and year fields. 47 // existence of credit card number, month, and year fields.
45 TEST(CreditCardTest, PreviewSummaryAndObfuscatedNumberStrings) { 48 TEST_F(CreditCardTest, PreviewSummaryAndObfuscatedNumberStrings) {
46 // Case 0: empty credit card. 49 // Case 0: empty credit card.
47 CreditCard credit_card0; 50 CreditCard credit_card0;
48 string16 summary0 = credit_card0.Label(); 51 string16 summary0 = credit_card0.Label();
49 EXPECT_EQ(string16(), summary0); 52 EXPECT_EQ(string16(), summary0);
50 string16 obfuscated0 = credit_card0.ObfuscatedNumber(); 53 string16 obfuscated0 = credit_card0.ObfuscatedNumber();
51 EXPECT_EQ(string16(), obfuscated0); 54 EXPECT_EQ(string16(), obfuscated0);
52 55
53 // Case 00: Empty credit card with empty strings. 56 // Case 00: Empty credit card with empty strings.
54 CreditCard credit_card00; 57 CreditCard credit_card00;
55 autofill_test::SetCreditCardInfo(&credit_card00, 58 autofill_test::SetCreditCardInfo(&credit_card00,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 // Case 4: Have everything. 92 // Case 4: Have everything.
90 CreditCard credit_card4; 93 CreditCard credit_card4;
91 autofill_test::SetCreditCardInfo(&credit_card4, 94 autofill_test::SetCreditCardInfo(&credit_card4,
92 "John Dillinger", "5105 1051 0510 5100", "01", "2010"); 95 "John Dillinger", "5105 1051 0510 5100", "01", "2010");
93 string16 summary4 = credit_card4.Label(); 96 string16 summary4 = credit_card4.Label();
94 EXPECT_EQ(ASCIIToUTF16("************5100, Exp: 01/2010"), summary4); 97 EXPECT_EQ(ASCIIToUTF16("************5100, Exp: 01/2010"), summary4);
95 string16 obfuscated4 = credit_card4.ObfuscatedNumber(); 98 string16 obfuscated4 = credit_card4.ObfuscatedNumber();
96 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated4); 99 EXPECT_EQ(ASCIIToUTF16("************5100"), obfuscated4);
97 } 100 }
98 101
99 TEST(CreditCardTest, AssignmentOperator) { 102 TEST_F(CreditCardTest, AssignmentOperator) {
100 CreditCard a, b; 103 CreditCard a, b;
101 104
102 // Result of assignment should be logically equal to the original profile. 105 // Result of assignment should be logically equal to the original profile.
103 autofill_test::SetCreditCardInfo(&a, "John Dillinger", 106 autofill_test::SetCreditCardInfo(&a, "John Dillinger",
104 "123456789012", "01", "2010"); 107 "123456789012", "01", "2010");
105 b = a; 108 b = a;
106 EXPECT_TRUE(a == b); 109 EXPECT_TRUE(a == b);
107 110
108 // Assignment to self should not change the profile value. 111 // Assignment to self should not change the profile value.
109 a = a; 112 a = a;
110 EXPECT_TRUE(a == b); 113 EXPECT_TRUE(a == b);
111 } 114 }
112 115
113 TEST(CreditCardTest, IsValidCreditCardNumber) { 116 TEST_F(CreditCardTest, IsValidCreditCardNumber) {
114 for (size_t i = 0; i < arraysize(kValidNumbers); ++i) { 117 for (size_t i = 0; i < arraysize(kValidNumbers); ++i) {
115 SCOPED_TRACE(kValidNumbers[i]); 118 SCOPED_TRACE(kValidNumbers[i]);
116 EXPECT_TRUE( 119 EXPECT_TRUE(
117 CreditCard::IsValidCreditCardNumber(ASCIIToUTF16(kValidNumbers[i]))); 120 CreditCard::IsValidCreditCardNumber(ASCIIToUTF16(kValidNumbers[i])));
118 } 121 }
119 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { 122 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) {
120 SCOPED_TRACE(kInvalidNumbers[i]); 123 SCOPED_TRACE(kInvalidNumbers[i]);
121 EXPECT_FALSE( 124 EXPECT_FALSE(
122 CreditCard::IsValidCreditCardNumber(ASCIIToUTF16(kInvalidNumbers[i]))); 125 CreditCard::IsValidCreditCardNumber(ASCIIToUTF16(kInvalidNumbers[i])));
123 } 126 }
124 } 127 }
125 128
126 TEST(CreditCardTest, IsComplete) { 129 TEST_F(CreditCardTest, IsComplete) {
127 CreditCard card; 130 CreditCard card;
128 EXPECT_FALSE(card.IsComplete()); 131 EXPECT_FALSE(card.IsComplete());
129 card.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Wally T. Walrus")); 132 card.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Wally T. Walrus"));
130 EXPECT_FALSE(card.IsComplete()); 133 EXPECT_FALSE(card.IsComplete());
131 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); 134 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01"));
132 EXPECT_FALSE(card.IsComplete()); 135 EXPECT_FALSE(card.IsComplete());
133 card.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2014")); 136 card.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2014"));
134 137
135 for (size_t i = 0; i < arraysize(kValidNumbers); ++i) { 138 for (size_t i = 0; i < arraysize(kValidNumbers); ++i) {
136 SCOPED_TRACE(kValidNumbers[i]); 139 SCOPED_TRACE(kValidNumbers[i]);
137 card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i])); 140 card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kValidNumbers[i]));
138 EXPECT_TRUE(card.IsComplete()); 141 EXPECT_TRUE(card.IsComplete());
139 } 142 }
140 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) { 143 for (size_t i = 0; i < arraysize(kInvalidNumbers); ++i) {
141 SCOPED_TRACE(kInvalidNumbers[i]); 144 SCOPED_TRACE(kInvalidNumbers[i]);
142 card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i])); 145 card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16(kInvalidNumbers[i]));
143 EXPECT_FALSE(card.IsComplete()); 146 EXPECT_FALSE(card.IsComplete());
144 } 147 }
145 } 148 }
146 149
147 TEST(CreditCardTest, InvalidMastercardNumber) { 150 TEST_F(CreditCardTest, InvalidMastercardNumber) {
148 CreditCard card; 151 CreditCard card;
149 152
150 autofill_test::SetCreditCardInfo(&card, "Baby Face Nelson", 153 autofill_test::SetCreditCardInfo(&card, "Baby Face Nelson",
151 "5200000000000004", "01", "2010"); 154 "5200000000000004", "01", "2010");
152 EXPECT_EQ("genericCC", card.type()); 155 EXPECT_EQ("genericCC", card.type());
153 } 156 }
154 157
155 // Verify that we preserve exactly what the user typed for credit card numbers. 158 // Verify that we preserve exactly what the user typed for credit card numbers.
156 TEST(CreditCardTest, SetInfoCreditCardNumber) { 159 TEST_F(CreditCardTest, SetInfoCreditCardNumber) {
157 CreditCard card; 160 CreditCard card;
158 161
159 autofill_test::SetCreditCardInfo(&card, "Bob Dylan", 162 autofill_test::SetCreditCardInfo(&card, "Bob Dylan",
160 "4321-5432-6543-xxxx", "07", "2013"); 163 "4321-5432-6543-xxxx", "07", "2013");
161 EXPECT_EQ(ASCIIToUTF16("4321-5432-6543-xxxx"), 164 EXPECT_EQ(ASCIIToUTF16("4321-5432-6543-xxxx"),
162 card.GetInfo(CREDIT_CARD_NUMBER)); 165 card.GetInfo(CREDIT_CARD_NUMBER));
163 } 166 }
164 167
165 // Verify that we can handle both numeric and named months. 168 // Verify that we can handle both numeric and named months.
166 TEST(CreditCardTest, SetInfoExpirationMonth) { 169 TEST_F(CreditCardTest, SetInfoExpirationMonth) {
167 CreditCard card; 170 CreditCard card;
168 171
169 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("05")); 172 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("05"));
170 EXPECT_EQ(ASCIIToUTF16("05"), card.GetInfo(CREDIT_CARD_EXP_MONTH)); 173 EXPECT_EQ(ASCIIToUTF16("05"), card.GetInfo(CREDIT_CARD_EXP_MONTH));
171 174
172 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("7")); 175 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("7"));
173 EXPECT_EQ(ASCIIToUTF16("07"), card.GetInfo(CREDIT_CARD_EXP_MONTH)); 176 EXPECT_EQ(ASCIIToUTF16("07"), card.GetInfo(CREDIT_CARD_EXP_MONTH));
174 177
175 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("January")); 178 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("January"));
176 EXPECT_EQ(ASCIIToUTF16("01"), card.GetInfo(CREDIT_CARD_EXP_MONTH)); 179 EXPECT_EQ(ASCIIToUTF16("01"), card.GetInfo(CREDIT_CARD_EXP_MONTH));
177 180
178 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("Apr")); 181 card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("Apr"));
179 EXPECT_EQ(ASCIIToUTF16("04"), card.GetInfo(CREDIT_CARD_EXP_MONTH)); 182 EXPECT_EQ(ASCIIToUTF16("04"), card.GetInfo(CREDIT_CARD_EXP_MONTH));
180 } 183 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/autofill_profile_unittest.cc ('k') | chrome/browser/autofill/phone_number_i18n_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698