1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/basictypes.h"
#include "chrome/browser/autofill/autofill_common_unittest.h"
#include "chrome/browser/autofill/credit_card.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
// Tests credit card summary string generation. This test simulates a variety
// of different possible summary strings. Variations occur based on the
// existence of credit card number, month, and year fields.
TEST(CreditCardTest, PreviewSummaryAndObfuscatedNumberStrings) {
// Case 0: empty credit card.
CreditCard credit_card0(string16(), 0);
string16 summary0 = credit_card0.PreviewSummary();
EXPECT_EQ(summary0, string16());
string16 obfuscated0 = credit_card0.ObfuscatedNumber();
EXPECT_EQ(obfuscated0, string16());
// Case 00: Empty credit card with empty strings.
CreditCard credit_card00(string16(), 0);
autofill_unittest::SetCreditCardInfo(
&credit_card00,
"Corporate",
"John Dillinger",
"Visa",
"",
"",
"",
"123",
"Chicago",
"Indianapolis");
string16 summary00 = credit_card00.PreviewSummary();
EXPECT_EQ(summary00, string16());
string16 obfuscated00 = credit_card00.ObfuscatedNumber();
EXPECT_EQ(obfuscated00, string16());
// Case 1: No credit card number.
CreditCard credit_card1(string16(), 0);
autofill_unittest::SetCreditCardInfo(
&credit_card1,
"Corporate",
"John Dillinger",
"Visa",
"",
"01",
"2010",
"123",
"Chicago",
"Indianapolis");
string16 summary1 = credit_card1.PreviewSummary();
EXPECT_EQ(summary1, string16());
string16 obfuscated1 = credit_card1.ObfuscatedNumber();
EXPECT_EQ(obfuscated1, string16());
// Case 2: No month.
CreditCard credit_card2(string16(), 0);
autofill_unittest::SetCreditCardInfo(
&credit_card2,
"Corporate",
"John Dillinger",
"Visa",
"123456789012",
"",
"2010",
"123",
"Chicago",
"Indianapolis");
string16 summary2 = credit_card2.PreviewSummary();
EXPECT_EQ(summary2, string16(ASCIIToUTF16("************9012")));
string16 obfuscated2 = credit_card2.ObfuscatedNumber();
EXPECT_EQ(obfuscated2, string16(ASCIIToUTF16("************9012")));
// Case 3: No year.
CreditCard credit_card3(string16(), 0);
autofill_unittest::SetCreditCardInfo(
&credit_card3,
"Corporate",
"John Dillinger",
"Visa",
"123456789012",
"01",
"",
"123",
"Chicago",
"Indianapolis");
string16 summary3 = credit_card3.PreviewSummary();
EXPECT_EQ(summary3, string16(ASCIIToUTF16("************9012")));
string16 obfuscated3 = credit_card3.ObfuscatedNumber();
EXPECT_EQ(obfuscated3, string16(ASCIIToUTF16("************9012")));
// Case 4: Have everything.
CreditCard credit_card4(string16(), 0);
autofill_unittest::SetCreditCardInfo(
&credit_card4,
"Corporate",
"John Dillinger",
"Visa",
"123456789012",
"01",
"2010",
"123",
"Chicago",
"Indianapolis");
string16 summary4 = credit_card4.PreviewSummary();
EXPECT_EQ(summary4, string16(ASCIIToUTF16("************9012, Exp: 01/2010")));
string16 obfuscated4 = credit_card4.ObfuscatedNumber();
EXPECT_EQ(obfuscated4, string16(ASCIIToUTF16("************9012")));
}
} // namespace
|