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

Side by Side Diff: chrome/browser/autofill/wallet/wallet_address_unittest.cc

Issue 11293078: Integrating Online Wallet into Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More fixes from code review Created 8 years 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
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/json/json_reader.h"
6 #include "base/logging.h"
7 #include "base/memory/scoped_ptr.h"
8 #include "base/values.h"
9 #include "chrome/browser/autofill/wallet/wallet_address.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 namespace {
Dan Beam 2012/12/05 19:34:59 nit: \n
ahutter 2012/12/05 23:37:23 Done.
13 static const char kAddressMissingObjectId[] =
Dan Beam 2012/12/05 19:34:59 nit: static in an anonymous namespace does nothing
ahutter 2012/12/05 23:37:23 Done.
Albert Bodenhamer 2012/12/06 00:36:43 Not ENTIRELY nothing, but close enough. It'll res
14 "{"
15 " \"phone_number\":\"phone_number\","
16 " \"postal_address\":"
17 " {"
18 " \"recipient_name\":\"recipient_name\","
19 " \"address_line\":"
20 " ["
21 " \"address_line_1\","
22 " \"address_line_2\""
23 " ],"
24 " \"locality_name\":\"locality_name\","
25 " \"administrative_area_name\":\"administrative_area_name\","
26 " \"postal_code_number\":\"postal_code_number\","
27 " \"country_name_code\":\"country_name_code\""
28 " }"
29 "}";
30
31 static const char kAddressMissingCountryNameCode[] =
32 "{"
33 " \"id\":\"id\","
34 " \"phone_number\":\"phone_number\","
35 " \"postal_address\":"
36 " {"
37 " \"recipient_name\":\"recipient_name\","
38 " \"address_line\":"
39 " ["
40 " \"address_line_1\","
41 " \"address_line_2\""
42 " ],"
43 " \"locality_name\":\"locality_name\","
44 " \"administrative_area_name\":\"administrative_area_name\","
45 " \"postal_code_number\":\"postal_code_number\""
46 " }"
47 "}";
48
49 static const char kAddressMissingRecipientName[] =
50 "{"
51 " \"id\":\"id\","
52 " \"phone_number\":\"phone_number\","
53 " \"postal_address\":"
54 " {"
55 " \"address_line\":"
56 " ["
57 " \"address_line_1\","
58 " \"address_line_2\""
59 " ],"
60 " \"locality_name\":\"locality_name\","
61 " \"administrative_area_name\":\"administrative_area_name\","
62 " \"postal_code_number\":\"postal_code_number\","
63 " \"country_name_code\":\"country_name_code\""
64 " }"
65 "}";
66
67 static const char kAddressMissingPostalCodeNumber[] =
68 "{"
69 " \"id\":\"id\","
70 " \"phone_number\":\"phone_number\","
71 " \"postal_address\":"
72 " {"
73 " \"recipient_name\":\"recipient_name\","
74 " \"address_line\":"
75 " ["
76 " \"address_line_1\","
77 " \"address_line_2\""
78 " ],"
79 " \"locality_name\":\"locality_name\","
80 " \"administrative_area_name\":\"administrative_area_name\","
81 " \"country_name_code\":\"country_name_code\""
82 " }"
83 "}";
84
85 static const char kValidAddress[] =
86 "{"
87 " \"id\":\"id\","
88 " \"phone_number\":\"phone_number\","
89 " \"postal_address\":"
90 " {"
91 " \"recipient_name\":\"recipient_name\","
92 " \"address_line\":"
93 " ["
94 " \"address_line_1\","
95 " \"address_line_2\""
96 " ],"
97 " \"locality_name\":\"locality_name\","
98 " \"administrative_area_name\":\"administrative_area_name\","
99 " \"country_name_code\":\"country_name_code\","
100 " \"postal_code_number\":\"postal_code_number\""
101 " }"
102 "}";
103
104 static const char kClientAddressMissingCountryCode[] =
105 "{"
106 " \"name\":\"name\","
107 " \"address1\":\"address1\","
108 " \"address2\":\"address2\","
109 " \"city\":\"city\","
110 " \"state\":\"state\","
111 " \"postal_code\":\"postal_code\","
112 " \"phone_number\":\"phone_number\""
113 "}";
114
115 static const char kClientAddressMissingPostalCode[] =
116 "{"
117 " \"name\":\"name\","
118 " \"address1\":\"address1\","
119 " \"address2\":\"address2\","
120 " \"city\":\"city\","
121 " \"state\":\"state\","
122 " \"phone_number\":\"phone_number\","
123 " \"country_code\":\"country_code\""
124 "}";
125
126 static const char kClientAddressMissingName[] =
127 "{"
128 " \"address1\":\"address1\","
129 " \"address2\":\"address2\","
130 " \"city\":\"city\","
131 " \"state\":\"state\","
132 " \"postal_code\":\"postal_code\","
133 " \"phone_number\":\"phone_number\","
134 " \"country_code\":\"country_code\""
135 "}";
136
137 static const char kClientValidAddress[] =
138 "{"
139 " \"name\":\"name\","
140 " \"address1\":\"address1\","
141 " \"address2\":\"address2\","
142 " \"city\":\"city\","
143 " \"state\":\"state\","
144 " \"postal_code\":\"postal_code\","
145 " \"phone_number\":\"phone_number\","
146 " \"country_code\":\"country_code\""
147 "}";
148
149 } // end anonymous namespace
150
151 namespace wallet {
152
153 class WalletAddressTest : public testing::Test {
154 public:
155 WalletAddressTest() {}
156 virtual void SetUp() {
157 dict.reset();
158 }
159 protected:
160 void SetUpDictionary(const std::string& json) {
161 scoped_ptr<Value> value(base::JSONReader::Read(json));
162 DCHECK(value.get());
163 DCHECK(value->IsType(Value::TYPE_DICTIONARY));
164 dict.reset(static_cast<DictionaryValue*>(value.release()));
165 }
166 scoped_ptr<const DictionaryValue> dict;
167 };
168
169 TEST_F(WalletAddressTest, CreateAddressWithIDMissingObjectId) {
170 SetUpDictionary(kAddressMissingObjectId);
171 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict));
172 }
173
174 TEST_F(WalletAddressTest, CreateAddressWithIDMissingCountryNameCode) {
175 SetUpDictionary(kAddressMissingCountryNameCode);
176 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict));
177 }
178
179 TEST_F(WalletAddressTest, CreateAddressWithIDMissingRecipientName) {
180 SetUpDictionary(kAddressMissingRecipientName);
181 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict));
182 }
183
184 TEST_F(WalletAddressTest, CreateAddressWithIDMissingPostalCodeNumber) {
185 SetUpDictionary(kAddressMissingPostalCodeNumber);
186 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict));
187 }
188
189 TEST_F(WalletAddressTest, CreateAddressWithID) {
190 SetUpDictionary(kValidAddress);
191 Address address("country_name_code",
192 "recipient_name",
193 "address_line_1",
194 "address_line_2",
195 "locality_name",
196 "administrative_area_name",
197 "postal_code_number",
198 "phone_number",
199 "id");
200 ASSERT_EQ(address, *Address::CreateAddressWithID(*dict));
201 }
202
203 TEST_F(WalletAddressTest, CreateDisplayAddressMissingCountryNameCode) {
204 SetUpDictionary(kClientAddressMissingCountryCode);
205 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict));
206 }
207
208 TEST_F(WalletAddressTest, CreateDisplayAddressMissingName) {
209 SetUpDictionary(kClientAddressMissingName);
210 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict));
211 }
212
213 TEST_F(WalletAddressTest, CreateDisplayAddressMissingPostalCode) {
214 SetUpDictionary(kClientAddressMissingPostalCode);
215 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict));
216 }
217
218 TEST_F(WalletAddressTest, CreateDisplayAddress) {
219 SetUpDictionary(kClientValidAddress);
220 Address address("country_code",
221 "name",
222 "address1",
223 "address2",
224 "city",
225 "state",
226 "postal_code",
227 "phone_number",
228 "");
229 ASSERT_EQ(address, *Address::CreateDisplayAddress(*dict));
230 }
231
232 } // end wallet namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698