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

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

Issue 12434004: Move remaining Autofill code to //components/autofill. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix long lines Created 7 years, 9 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
(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/utf_string_conversions.h"
9 #include "base/values.h"
10 #include "chrome/browser/autofill/wallet/wallet_address.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12
13 namespace {
14
15 const char kAddressMissingObjectId[] =
16 "{"
17 " \"phone_number\":\"phone_number\","
18 " \"postal_address\":"
19 " {"
20 " \"recipient_name\":\"recipient_name\","
21 " \"address_line\":"
22 " ["
23 " \"address_line_1\","
24 " \"address_line_2\""
25 " ],"
26 " \"locality_name\":\"locality_name\","
27 " \"administrative_area_name\":\"administrative_area_name\","
28 " \"postal_code_number\":\"postal_code_number\","
29 " \"country_name_code\":\"country_name_code\""
30 " }"
31 "}";
32
33 const char kAddressMissingCountryNameCode[] =
34 "{"
35 " \"id\":\"id\","
36 " \"phone_number\":\"phone_number\","
37 " \"postal_address\":"
38 " {"
39 " \"recipient_name\":\"recipient_name\","
40 " \"address_line\":"
41 " ["
42 " \"address_line_1\","
43 " \"address_line_2\""
44 " ],"
45 " \"locality_name\":\"locality_name\","
46 " \"administrative_area_name\":\"administrative_area_name\","
47 " \"postal_code_number\":\"postal_code_number\""
48 " }"
49 "}";
50
51 const char kAddressMissingRecipientName[] =
52 "{"
53 " \"id\":\"id\","
54 " \"phone_number\":\"phone_number\","
55 " \"postal_address\":"
56 " {"
57 " \"address_line\":"
58 " ["
59 " \"address_line_1\","
60 " \"address_line_2\""
61 " ],"
62 " \"locality_name\":\"locality_name\","
63 " \"administrative_area_name\":\"administrative_area_name\","
64 " \"postal_code_number\":\"postal_code_number\","
65 " \"country_name_code\":\"country_name_code\""
66 " }"
67 "}";
68
69 const char kAddressMissingPostalCodeNumber[] =
70 "{"
71 " \"id\":\"id\","
72 " \"phone_number\":\"phone_number\","
73 " \"postal_address\":"
74 " {"
75 " \"recipient_name\":\"recipient_name\","
76 " \"address_line\":"
77 " ["
78 " \"address_line_1\","
79 " \"address_line_2\""
80 " ],"
81 " \"locality_name\":\"locality_name\","
82 " \"administrative_area_name\":\"administrative_area_name\","
83 " \"country_name_code\":\"country_name_code\""
84 " }"
85 "}";
86
87 const char kValidAddress[] =
88 "{"
89 " \"id\":\"id\","
90 " \"phone_number\":\"phone_number\","
91 " \"postal_address\":"
92 " {"
93 " \"recipient_name\":\"recipient_name\","
94 " \"address_line\":"
95 " ["
96 " \"address_line_1\","
97 " \"address_line_2\""
98 " ],"
99 " \"locality_name\":\"locality_name\","
100 " \"administrative_area_name\":\"administrative_area_name\","
101 " \"country_name_code\":\"country_name_code\","
102 " \"postal_code_number\":\"postal_code_number\""
103 " }"
104 "}";
105
106 const char kClientAddressMissingCountryCode[] =
107 "{"
108 " \"name\":\"name\","
109 " \"address1\":\"address1\","
110 " \"address2\":\"address2\","
111 " \"city\":\"city\","
112 " \"state\":\"state\","
113 " \"postal_code\":\"postal_code\","
114 " \"phone_number\":\"phone_number\""
115 "}";
116
117 const char kClientAddressMissingPostalCode[] =
118 "{"
119 " \"name\":\"name\","
120 " \"address1\":\"address1\","
121 " \"address2\":\"address2\","
122 " \"city\":\"city\","
123 " \"state\":\"state\","
124 " \"phone_number\":\"phone_number\","
125 " \"country_code\":\"country_code\""
126 "}";
127
128 const char kClientAddressMissingName[] =
129 "{"
130 " \"address1\":\"address1\","
131 " \"address2\":\"address2\","
132 " \"city\":\"city\","
133 " \"state\":\"state\","
134 " \"postal_code\":\"postal_code\","
135 " \"phone_number\":\"phone_number\","
136 " \"country_code\":\"country_code\""
137 "}";
138
139 const char kClientValidAddress[] =
140 "{"
141 " \"name\":\"name\","
142 " \"address1\":\"address1\","
143 " \"address2\":\"address2\","
144 " \"city\":\"city\","
145 " \"state\":\"state\","
146 " \"postal_code\":\"postal_code\","
147 " \"phone_number\":\"phone_number\","
148 " \"country_code\":\"country_code\""
149 "}";
150
151 } // anonymous namespace
152
153 namespace autofill {
154 namespace wallet {
155
156 class WalletAddressTest : public testing::Test {
157 public:
158 WalletAddressTest() {}
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, CreateAddressMissingObjectId) {
170 SetUpDictionary(kAddressMissingObjectId);
171 Address address("country_name_code",
172 ASCIIToUTF16("recipient_name"),
173 ASCIIToUTF16("address_line_1"),
174 ASCIIToUTF16("address_line_2"),
175 ASCIIToUTF16("locality_name"),
176 ASCIIToUTF16("administrative_area_name"),
177 ASCIIToUTF16("postal_code_number"),
178 ASCIIToUTF16("phone_number"),
179 "");
180 ASSERT_EQ(address, *Address::CreateAddress(*dict_));
181 }
182
183 TEST_F(WalletAddressTest, CreateAddressWithIDMissingObjectId) {
184 SetUpDictionary(kAddressMissingObjectId);
185 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict_).get());
186 }
187
188 TEST_F(WalletAddressTest, CreateAddressMissingCountryNameCode) {
189 SetUpDictionary(kAddressMissingCountryNameCode);
190 ASSERT_EQ(NULL, Address::CreateAddress(*dict_).get());
191 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict_).get());
192 }
193
194 TEST_F(WalletAddressTest, CreateAddressMissingRecipientName) {
195 SetUpDictionary(kAddressMissingRecipientName);
196 ASSERT_EQ(NULL, Address::CreateAddress(*dict_).get());
197 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict_).get());
198 }
199
200 TEST_F(WalletAddressTest, CreateAddressMissingPostalCodeNumber) {
201 SetUpDictionary(kAddressMissingPostalCodeNumber);
202 ASSERT_EQ(NULL, Address::CreateAddress(*dict_).get());
203 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict_).get());
204 }
205
206 TEST_F(WalletAddressTest, CreateAddressWithID) {
207 SetUpDictionary(kValidAddress);
208 Address address("country_name_code",
209 ASCIIToUTF16("recipient_name"),
210 ASCIIToUTF16("address_line_1"),
211 ASCIIToUTF16("address_line_2"),
212 ASCIIToUTF16("locality_name"),
213 ASCIIToUTF16("administrative_area_name"),
214 ASCIIToUTF16("postal_code_number"),
215 ASCIIToUTF16("phone_number"),
216 "id");
217 ASSERT_EQ(address, *Address::CreateAddress(*dict_));
218 ASSERT_EQ(address, *Address::CreateAddressWithID(*dict_));
219 }
220
221 TEST_F(WalletAddressTest, CreateDisplayAddressMissingCountryNameCode) {
222 SetUpDictionary(kClientAddressMissingCountryCode);
223 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get());
224 }
225
226 TEST_F(WalletAddressTest, CreateDisplayAddressMissingName) {
227 SetUpDictionary(kClientAddressMissingName);
228 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get());
229 }
230
231 TEST_F(WalletAddressTest, CreateDisplayAddressMissingPostalCode) {
232 SetUpDictionary(kClientAddressMissingPostalCode);
233 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get());
234 }
235
236 TEST_F(WalletAddressTest, CreateDisplayAddress) {
237 SetUpDictionary(kClientValidAddress);
238 Address address("country_code",
239 ASCIIToUTF16("name"),
240 ASCIIToUTF16("address1"),
241 ASCIIToUTF16("address2"),
242 ASCIIToUTF16("city"),
243 ASCIIToUTF16("state"),
244 ASCIIToUTF16("postal_code"),
245 ASCIIToUTF16("phone_number"),
246 "");
247 ASSERT_EQ(address, *Address::CreateDisplayAddress(*dict_));
248 }
249
250 TEST_F(WalletAddressTest, ToDictionaryWithoutID) {
251 base::DictionaryValue expected;
252 expected.SetString("country_name_code",
253 "country_name_code");
254 expected.SetString("recipient_name",
255 "recipient_name");
256 expected.SetString("locality_name",
257 "locality_name");
258 expected.SetString("administrative_area_name",
259 "administrative_area_name");
260 expected.SetString("postal_code_number",
261 "postal_code_number");
262 base::ListValue* address_lines = new base::ListValue();
263 address_lines->AppendString("address_line_1");
264 address_lines->AppendString("address_line_2");
265 expected.Set("address_line", address_lines);
266
267 Address address("country_name_code",
268 ASCIIToUTF16("recipient_name"),
269 ASCIIToUTF16("address_line_1"),
270 ASCIIToUTF16("address_line_2"),
271 ASCIIToUTF16("locality_name"),
272 ASCIIToUTF16("administrative_area_name"),
273 ASCIIToUTF16("postal_code_number"),
274 ASCIIToUTF16("phone_number"),
275 "");
276
277 EXPECT_TRUE(expected.Equals(address.ToDictionaryWithoutID().get()));
278 }
279
280 TEST_F(WalletAddressTest, ToDictionaryWithID) {
281 base::DictionaryValue expected;
282 expected.SetString("id", "id");
283 expected.SetString("phone_number", "phone_number");
284 expected.SetString("postal_address.country_name_code",
285 "country_name_code");
286 expected.SetString("postal_address.recipient_name",
287 "recipient_name");
288 expected.SetString("postal_address.locality_name",
289 "locality_name");
290 expected.SetString("postal_address.administrative_area_name",
291 "administrative_area_name");
292 expected.SetString("postal_address.postal_code_number",
293 "postal_code_number");
294 base::ListValue* address_lines = new base::ListValue();
295 address_lines->AppendString("address_line_1");
296 address_lines->AppendString("address_line_2");
297 expected.Set("postal_address.address_line", address_lines);
298
299 Address address("country_name_code",
300 ASCIIToUTF16("recipient_name"),
301 ASCIIToUTF16("address_line_1"),
302 ASCIIToUTF16("address_line_2"),
303 ASCIIToUTF16("locality_name"),
304 ASCIIToUTF16("administrative_area_name"),
305 ASCIIToUTF16("postal_code_number"),
306 ASCIIToUTF16("phone_number"),
307 "id");
308
309 EXPECT_TRUE(expected.Equals(address.ToDictionaryWithID().get()));
310 }
311
312 } // namespace wallet
313 } // namespace autofill
OLDNEW
« no previous file with comments | « chrome/browser/autofill/wallet/wallet_address.cc ('k') | chrome/browser/autofill/wallet/wallet_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698