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

Side by Side Diff: components/autofill/content/browser/wallet/wallet_address_unittest.cc

Issue 151383003: Updates to wallet for i18n (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: retry upload Created 6 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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/json/json_reader.h" 5 #include "base/json/json_reader.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "components/autofill/content/browser/wallet/wallet_address.h" 10 #include "components/autofill/content/browser/wallet/wallet_address.h"
11 #include "components/autofill/content/browser/wallet/wallet_test_util.h"
11 #include "components/autofill/core/browser/autofill_profile.h" 12 #include "components/autofill/core/browser/autofill_profile.h"
12 #include "components/autofill/core/browser/autofill_test_utils.h" 13 #include "components/autofill/core/browser/autofill_test_utils.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 15
15 using base::ASCIIToUTF16; 16 using base::ASCIIToUTF16;
16 17
17 namespace { 18 namespace {
18 19
19 const char kAddressMissingObjectId[] = 20 const char kAddressMissingObjectId[] =
20 "{" 21 "{"
21 " \"phone_number\":\"phone_number\"," 22 " \"phone_number\":\"phone_number\","
22 " \"postal_address\":" 23 " \"postal_address\":"
23 " {" 24 " {"
24 " \"recipient_name\":\"recipient_name\"," 25 " \"recipient_name\":\"recipient_name\","
25 " \"address_line\":" 26 " \"address_line\":"
26 " [" 27 " ["
27 " \"address_line_1\"," 28 " \"address_line_1\","
28 " \"address_line_2\"" 29 " \"address_line_2\""
29 " ]," 30 " ],"
30 " \"locality_name\":\"locality_name\"," 31 " \"locality_name\":\"locality_name\","
32 " \"dependent_locality_name\":\"dependent_locality_name\","
31 " \"administrative_area_name\":\"administrative_area_name\"," 33 " \"administrative_area_name\":\"administrative_area_name\","
32 " \"postal_code_number\":\"postal_code_number\"," 34 " \"postal_code_number\":\"postal_code_number\","
35 " \"sorting_code\":\"sorting_code\","
33 " \"country_name_code\":\"US\"" 36 " \"country_name_code\":\"US\""
34 " }" 37 " }"
35 "}"; 38 "}";
36 39
37 const char kAddressMissingCountryNameCode[] = 40 const char kAddressMissingCountryNameCode[] =
38 "{" 41 "{"
39 " \"id\":\"id\"," 42 " \"id\":\"id\","
40 " \"phone_number\":\"phone_number\"," 43 " \"phone_number\":\"phone_number\","
41 " \"postal_address\":" 44 " \"postal_address\":"
42 " {" 45 " {"
43 " \"recipient_name\":\"recipient_name\"," 46 " \"recipient_name\":\"recipient_name\","
44 " \"address_line\":" 47 " \"address_line\":"
45 " [" 48 " ["
46 " \"address_line_1\"," 49 " \"address_line_1\","
47 " \"address_line_2\"" 50 " \"address_line_2\""
48 " ]," 51 " ],"
49 " \"locality_name\":\"locality_name\"," 52 " \"locality_name\":\"locality_name\","
53 " \"dependent_locality_name\":\"dependent_locality_name\","
50 " \"administrative_area_name\":\"administrative_area_name\"," 54 " \"administrative_area_name\":\"administrative_area_name\","
51 " \"postal_code_number\":\"postal_code_number\"" 55 " \"postal_code_number\":\"postal_code_number\","
56 " \"sorting_code\":\"sorting_code\""
52 " }" 57 " }"
53 "}"; 58 "}";
54 59
55 const char kAddressMissingRecipientName[] = 60 const char kAddressMissingRecipientName[] =
56 "{" 61 "{"
57 " \"id\":\"id\"," 62 " \"id\":\"id\","
58 " \"phone_number\":\"phone_number\"," 63 " \"phone_number\":\"phone_number\","
59 " \"postal_address\":" 64 " \"postal_address\":"
60 " {" 65 " {"
61 " \"address_line\":" 66 " \"address_line\":"
62 " [" 67 " ["
63 " \"address_line_1\"," 68 " \"address_line_1\","
64 " \"address_line_2\"" 69 " \"address_line_2\""
65 " ]," 70 " ],"
66 " \"locality_name\":\"locality_name\"," 71 " \"locality_name\":\"locality_name\","
72 " \"dependent_locality_name\":\"dependent_locality_name\","
67 " \"administrative_area_name\":\"administrative_area_name\"," 73 " \"administrative_area_name\":\"administrative_area_name\","
68 " \"postal_code_number\":\"postal_code_number\"," 74 " \"postal_code_number\":\"postal_code_number\","
75 " \"sorting_code\":\"sorting_code\","
69 " \"country_name_code\":\"US\"" 76 " \"country_name_code\":\"US\""
70 " }" 77 " }"
71 "}"; 78 "}";
72 79
73 const char kAddressMissingPostalCodeNumber[] = 80 const char kAddressMissingPostalCodeNumber[] =
74 "{" 81 "{"
75 " \"id\":\"id\"," 82 " \"id\":\"id\","
76 " \"phone_number\":\"phone_number\"," 83 " \"phone_number\":\"phone_number\","
77 " \"postal_address\":" 84 " \"postal_address\":"
78 " {" 85 " {"
79 " \"recipient_name\":\"recipient_name\"," 86 " \"recipient_name\":\"recipient_name\","
80 " \"address_line\":" 87 " \"address_line\":"
81 " [" 88 " ["
82 " \"address_line_1\"," 89 " \"address_line_1\","
83 " \"address_line_2\"" 90 " \"address_line_2\""
84 " ]," 91 " ],"
85 " \"locality_name\":\"locality_name\"," 92 " \"locality_name\":\"locality_name\","
93 " \"dependent_locality_name\":\"dependent_locality_name\","
86 " \"administrative_area_name\":\"administrative_area_name\"," 94 " \"administrative_area_name\":\"administrative_area_name\","
95 " \"sorting_code\":\"sorting_code\","
87 " \"country_name_code\":\"US\"" 96 " \"country_name_code\":\"US\""
88 " }" 97 " }"
89 "}"; 98 "}";
90 99
91 const char kValidAddress[] = 100 const char kValidAddress[] =
92 "{" 101 "{"
93 " \"id\":\"id\"," 102 " \"id\":\"id\","
94 " \"phone_number\":\"phone_number\"," 103 " \"phone_number\":\"phone_number\","
95 " \"is_minimal_address\":true," 104 " \"is_minimal_address\":true,"
96 " \"postal_address\":" 105 " \"postal_address\":"
97 " {" 106 " {"
98 " \"recipient_name\":\"recipient_name\"," 107 " \"recipient_name\":\"recipient_name\","
99 " \"address_line\":" 108 " \"address_line\":"
100 " [" 109 " ["
101 " \"address_line_1\"," 110 " \"address_line_1\","
102 " \"address_line_2\"" 111 " \"address_line_2\""
103 " ]," 112 " ],"
104 " \"locality_name\":\"locality_name\"," 113 " \"locality_name\":\"locality_name\","
114 " \"dependent_locality_name\":\"dependent_locality_name\","
105 " \"administrative_area_name\":\"administrative_area_name\"," 115 " \"administrative_area_name\":\"administrative_area_name\","
106 " \"country_name_code\":\"US\"," 116 " \"country_name_code\":\"US\","
107 " \"postal_code_number\":\"postal_code_number\"" 117 " \"postal_code_number\":\"postal_code_number\","
118 " \"sorting_code\":\"sorting_code\""
108 " }" 119 " }"
109 "}"; 120 "}";
110 121
111 const char kClientAddressMissingCountryCode[] = 122 const char kClientAddressMissingCountryCode[] =
112 "{" 123 "{"
113 " \"name\":\"name\"," 124 " \"name\":\"name\","
114 " \"address1\":\"address1\"," 125 " \"address1\":\"address1\","
115 " \"address2\":\"address2\"," 126 " \"address2\":\"address2\","
116 " \"city\":\"city\"," 127 " \"city\":\"city\","
117 " \"state\":\"state\"," 128 " \"state\":\"state\","
118 " \"postal_code\":\"postal_code\"," 129 " \"postal_code\":\"postal_code\","
130 " \"sorting_code\":\"sorting_code\","
119 " \"phone_number\":\"phone_number\"" 131 " \"phone_number\":\"phone_number\""
120 "}"; 132 "}";
121 133
122 const char kClientAddressMissingPostalCode[] = 134 const char kClientAddressMissingPostalCode[] =
123 "{" 135 "{"
124 " \"name\":\"name\"," 136 " \"name\":\"name\","
125 " \"address1\":\"address1\"," 137 " \"address1\":\"address1\","
126 " \"address2\":\"address2\"," 138 " \"address2\":\"address2\","
127 " \"city\":\"city\"," 139 " \"city\":\"city\","
128 " \"state\":\"state\"," 140 " \"state\":\"state\","
129 " \"phone_number\":\"phone_number\"," 141 " \"phone_number\":\"phone_number\","
130 " \"country_code\":\"US\"" 142 " \"country_code\":\"US\""
131 "}"; 143 "}";
132 144
133 const char kClientAddressMissingName[] = 145 const char kClientAddressMissingName[] =
134 "{" 146 "{"
135 " \"address1\":\"address1\"," 147 " \"address1\":\"address1\","
136 " \"address2\":\"address2\"," 148 " \"address2\":\"address2\","
137 " \"city\":\"city\"," 149 " \"city\":\"city\","
138 " \"state\":\"state\"," 150 " \"state\":\"state\","
139 " \"postal_code\":\"postal_code\"," 151 " \"postal_code\":\"postal_code\","
152 " \"sorting_code\":\"sorting_code\","
140 " \"phone_number\":\"phone_number\"," 153 " \"phone_number\":\"phone_number\","
141 " \"country_code\":\"US\"" 154 " \"country_code\":\"US\""
142 "}"; 155 "}";
143 156
144 const char kClientValidAddress[] = 157 const char kClientValidAddress[] =
145 "{" 158 "{"
146 " \"name\":\"name\"," 159 " \"name\":\"name\","
147 " \"address1\":\"address1\"," 160 " \"address1\":\"address1\","
148 " \"address2\":\"address2\"," 161 " \"address2\":\"address2\","
149 " \"city\":\"city\"," 162 " \"city\":\"city\","
163 " \"dependent_locality_name\":\"district\","
150 " \"state\":\"state\"," 164 " \"state\":\"state\","
151 " \"postal_code\":\"postal_code\"," 165 " \"postal_code\":\"postal_code\","
166 " \"sorting_code\":\"sorting_code\","
152 " \"phone_number\":\"phone_number\"," 167 " \"phone_number\":\"phone_number\","
153 " \"country_code\":\"US\"," 168 " \"country_code\":\"US\","
154 " \"type\":\"FULL\"" 169 " \"type\":\"FULL\""
155 "}"; 170 "}";
156 171
157 } // anonymous namespace 172 } // anonymous namespace
158 173
159 namespace autofill { 174 namespace autofill {
160 namespace wallet { 175 namespace wallet {
161 176
162 class WalletAddressTest : public testing::Test { 177 class WalletAddressTest : public testing::Test {
163 public: 178 public:
164 WalletAddressTest() {} 179 WalletAddressTest() {}
165 protected: 180 protected:
166 void SetUpDictionary(const std::string& json) { 181 void SetUpDictionary(const std::string& json) {
167 scoped_ptr<base::Value> value(base::JSONReader::Read(json)); 182 scoped_ptr<base::Value> value(base::JSONReader::Read(json));
168 DCHECK(value.get()); 183 DCHECK(value.get());
169 DCHECK(value->IsType(base::Value::TYPE_DICTIONARY)); 184 DCHECK(value->IsType(base::Value::TYPE_DICTIONARY));
170 dict_.reset(static_cast<base::DictionaryValue*>(value.release())); 185 dict_.reset(static_cast<base::DictionaryValue*>(value.release()));
171 } 186 }
187
172 scoped_ptr<const base::DictionaryValue> dict_; 188 scoped_ptr<const base::DictionaryValue> dict_;
173 }; 189 };
174 190
175 TEST_F(WalletAddressTest, AddressEqualsIgnoreID) { 191 TEST_F(WalletAddressTest, AddressEqualsIgnoreID) {
176 Address address1("US", 192 Address address1("US",
177 ASCIIToUTF16("recipient_name"), 193 ASCIIToUTF16("recipient_name"),
178 ASCIIToUTF16("address_line_1"), 194 StreetAddress("address_line_1", "address_line_2"),
179 ASCIIToUTF16("address_line_2"),
180 ASCIIToUTF16("locality_name"), 195 ASCIIToUTF16("locality_name"),
196 ASCIIToUTF16("dependent_locality_name"),
181 ASCIIToUTF16("administrative_area_name"), 197 ASCIIToUTF16("administrative_area_name"),
182 ASCIIToUTF16("postal_code_number"), 198 ASCIIToUTF16("postal_code_number"),
199 ASCIIToUTF16("sorting_code"),
183 ASCIIToUTF16("phone_number"), 200 ASCIIToUTF16("phone_number"),
184 "id1"); 201 "id1");
185 // Same as address1, only id is different. 202 // Same as address1, only id is different.
186 Address address2("US", 203 Address address2("US",
187 ASCIIToUTF16("recipient_name"), 204 ASCIIToUTF16("recipient_name"),
188 ASCIIToUTF16("address_line_1"), 205 StreetAddress("address_line_1", "address_line_2"),
189 ASCIIToUTF16("address_line_2"),
190 ASCIIToUTF16("locality_name"), 206 ASCIIToUTF16("locality_name"),
207 ASCIIToUTF16("dependent_locality_name"),
191 ASCIIToUTF16("administrative_area_name"), 208 ASCIIToUTF16("administrative_area_name"),
192 ASCIIToUTF16("postal_code_number"), 209 ASCIIToUTF16("postal_code_number"),
210 ASCIIToUTF16("sorting_code"),
193 ASCIIToUTF16("phone_number"), 211 ASCIIToUTF16("phone_number"),
194 "id2"); 212 "id2");
195 // Has same id as address1, but name is different. 213 // Has same id as address1, but name is different.
196 Address address3("US", 214 Address address3("US",
197 ASCIIToUTF16("a_different_name"), 215 ASCIIToUTF16("a_different_name"),
198 ASCIIToUTF16("address_line_1"), 216 StreetAddress("address_line_1", "address_line_2"),
199 ASCIIToUTF16("address_line_2"),
200 ASCIIToUTF16("locality_name"), 217 ASCIIToUTF16("locality_name"),
218 ASCIIToUTF16("dependent_locality_name"),
201 ASCIIToUTF16("administrative_area_name"), 219 ASCIIToUTF16("administrative_area_name"),
220 ASCIIToUTF16("phone_number"),
202 ASCIIToUTF16("postal_code_number"), 221 ASCIIToUTF16("postal_code_number"),
203 ASCIIToUTF16("phone_number"), 222 ASCIIToUTF16("sorting_code"),
204 "id1"); 223 "id1");
205 // Same as address1, but no id. 224 // Same as address1, but no id.
206 Address address4("US", 225 Address address4("US",
207 ASCIIToUTF16("recipient_name"), 226 ASCIIToUTF16("recipient_name"),
208 ASCIIToUTF16("address_line_1"), 227 StreetAddress("address_line_1", "address_line_2"),
209 ASCIIToUTF16("address_line_2"),
210 ASCIIToUTF16("locality_name"), 228 ASCIIToUTF16("locality_name"),
229 ASCIIToUTF16("dependent_locality_name"),
211 ASCIIToUTF16("administrative_area_name"), 230 ASCIIToUTF16("administrative_area_name"),
212 ASCIIToUTF16("postal_code_number"), 231 ASCIIToUTF16("postal_code_number"),
232 ASCIIToUTF16("sorting_code"),
213 ASCIIToUTF16("phone_number"), 233 ASCIIToUTF16("phone_number"),
214 std::string()); 234 std::string());
215 235
216 // Compare the address has id field to itself. 236 // Compare the address has id field to itself.
217 EXPECT_EQ(address1, address1); 237 EXPECT_EQ(address1, address1);
218 EXPECT_TRUE(address1.EqualsIgnoreID(address1)); 238 EXPECT_TRUE(address1.EqualsIgnoreID(address1));
219 239
220 // Compare the address has no id field to itself 240 // Compare the address has no id field to itself
221 EXPECT_EQ(address4, address4); 241 EXPECT_EQ(address4, address4);
222 EXPECT_TRUE(address4.EqualsIgnoreID(address4)); 242 EXPECT_TRUE(address4.EqualsIgnoreID(address4));
(...skipping 11 matching lines...) Expand all
234 // Compare two same addresses, one has id, the other doesn't. 254 // Compare two same addresses, one has id, the other doesn't.
235 EXPECT_NE(address1, address4); 255 EXPECT_NE(address1, address4);
236 EXPECT_TRUE(address1.EqualsIgnoreID(address4)); 256 EXPECT_TRUE(address1.EqualsIgnoreID(address4));
237 EXPECT_TRUE(address4.EqualsIgnoreID(address1)); 257 EXPECT_TRUE(address4.EqualsIgnoreID(address1));
238 } 258 }
239 259
240 TEST_F(WalletAddressTest, CreateAddressMissingObjectId) { 260 TEST_F(WalletAddressTest, CreateAddressMissingObjectId) {
241 SetUpDictionary(kAddressMissingObjectId); 261 SetUpDictionary(kAddressMissingObjectId);
242 Address address("US", 262 Address address("US",
243 ASCIIToUTF16("recipient_name"), 263 ASCIIToUTF16("recipient_name"),
244 ASCIIToUTF16("address_line_1"), 264 StreetAddress("address_line_1", "address_line_2"),
245 ASCIIToUTF16("address_line_2"),
246 ASCIIToUTF16("locality_name"), 265 ASCIIToUTF16("locality_name"),
266 ASCIIToUTF16("dependent_locality_name"),
247 ASCIIToUTF16("administrative_area_name"), 267 ASCIIToUTF16("administrative_area_name"),
248 ASCIIToUTF16("postal_code_number"), 268 ASCIIToUTF16("postal_code_number"),
269 ASCIIToUTF16("sorting_code"),
249 ASCIIToUTF16("phone_number"), 270 ASCIIToUTF16("phone_number"),
250 std::string()); 271 std::string());
251 EXPECT_EQ(address, *Address::CreateAddress(*dict_)); 272 EXPECT_EQ(address, *Address::CreateAddress(*dict_));
252 } 273 }
253 274
254 TEST_F(WalletAddressTest, CreateAddressWithIDMissingObjectId) { 275 TEST_F(WalletAddressTest, CreateAddressWithIDMissingObjectId) {
255 SetUpDictionary(kAddressMissingObjectId); 276 SetUpDictionary(kAddressMissingObjectId);
256 EXPECT_EQ(NULL, Address::CreateAddressWithID(*dict_).get()); 277 EXPECT_EQ(NULL, Address::CreateAddressWithID(*dict_).get());
257 } 278 }
258 279
(...skipping 12 matching lines...) Expand all
271 TEST_F(WalletAddressTest, CreateAddressMissingPostalCodeNumber) { 292 TEST_F(WalletAddressTest, CreateAddressMissingPostalCodeNumber) {
272 SetUpDictionary(kAddressMissingPostalCodeNumber); 293 SetUpDictionary(kAddressMissingPostalCodeNumber);
273 EXPECT_EQ(NULL, Address::CreateAddress(*dict_).get()); 294 EXPECT_EQ(NULL, Address::CreateAddress(*dict_).get());
274 EXPECT_EQ(NULL, Address::CreateAddressWithID(*dict_).get()); 295 EXPECT_EQ(NULL, Address::CreateAddressWithID(*dict_).get());
275 } 296 }
276 297
277 TEST_F(WalletAddressTest, CreateAddressWithID) { 298 TEST_F(WalletAddressTest, CreateAddressWithID) {
278 SetUpDictionary(kValidAddress); 299 SetUpDictionary(kValidAddress);
279 Address address("US", 300 Address address("US",
280 ASCIIToUTF16("recipient_name"), 301 ASCIIToUTF16("recipient_name"),
281 ASCIIToUTF16("address_line_1"), 302 StreetAddress("address_line_1", "address_line_2"),
282 ASCIIToUTF16("address_line_2"),
283 ASCIIToUTF16("locality_name"), 303 ASCIIToUTF16("locality_name"),
304 ASCIIToUTF16("dependent_locality_name"),
284 ASCIIToUTF16("administrative_area_name"), 305 ASCIIToUTF16("administrative_area_name"),
285 ASCIIToUTF16("postal_code_number"), 306 ASCIIToUTF16("postal_code_number"),
307 ASCIIToUTF16("sorting_code"),
286 ASCIIToUTF16("phone_number"), 308 ASCIIToUTF16("phone_number"),
287 "id"); 309 "id");
288 address.set_is_complete_address(false); 310 address.set_is_complete_address(false);
289 EXPECT_EQ(address, *Address::CreateAddress(*dict_)); 311 EXPECT_EQ(address, *Address::CreateAddress(*dict_));
290 EXPECT_EQ(address, *Address::CreateAddressWithID(*dict_)); 312 EXPECT_EQ(address, *Address::CreateAddressWithID(*dict_));
291 } 313 }
292 314
293 TEST_F(WalletAddressTest, CreateDisplayAddressMissingCountryNameCode) { 315 TEST_F(WalletAddressTest, CreateDisplayAddressMissingCountryNameCode) {
294 SetUpDictionary(kClientAddressMissingCountryCode); 316 SetUpDictionary(kClientAddressMissingCountryCode);
295 EXPECT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get()); 317 EXPECT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get());
296 } 318 }
297 319
298 TEST_F(WalletAddressTest, CreateDisplayAddressMissingName) { 320 TEST_F(WalletAddressTest, CreateDisplayAddressMissingName) {
299 SetUpDictionary(kClientAddressMissingName); 321 SetUpDictionary(kClientAddressMissingName);
300 EXPECT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get()); 322 EXPECT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get());
301 } 323 }
302 324
303 TEST_F(WalletAddressTest, CreateDisplayAddressMissingPostalCode) { 325 TEST_F(WalletAddressTest, CreateDisplayAddressMissingPostalCode) {
304 SetUpDictionary(kClientAddressMissingPostalCode); 326 SetUpDictionary(kClientAddressMissingPostalCode);
305 EXPECT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get()); 327 EXPECT_EQ(NULL, Address::CreateDisplayAddress(*dict_).get());
306 } 328 }
307 329
308 TEST_F(WalletAddressTest, CreateDisplayAddress) { 330 TEST_F(WalletAddressTest, CreateDisplayAddress) {
309 SetUpDictionary(kClientValidAddress); 331 SetUpDictionary(kClientValidAddress);
310 Address address("US", 332 Address address("US",
311 ASCIIToUTF16("name"), 333 ASCIIToUTF16("name"),
312 ASCIIToUTF16("address1"), 334 StreetAddress("address1", "address2"),
313 ASCIIToUTF16("address2"),
314 ASCIIToUTF16("city"), 335 ASCIIToUTF16("city"),
336 ASCIIToUTF16("district"),
315 ASCIIToUTF16("state"), 337 ASCIIToUTF16("state"),
316 ASCIIToUTF16("postal_code"), 338 ASCIIToUTF16("postal_code"),
339 ASCIIToUTF16("sorting_code"),
317 ASCIIToUTF16("phone_number"), 340 ASCIIToUTF16("phone_number"),
318 std::string()); 341 std::string());
319 EXPECT_EQ(address, *Address::CreateDisplayAddress(*dict_)); 342 EXPECT_EQ(address, *Address::CreateDisplayAddress(*dict_));
320 } 343 }
321 344
322 TEST_F(WalletAddressTest, ToDictionaryWithoutID) { 345 TEST_F(WalletAddressTest, ToDictionaryWithoutID) {
323 base::DictionaryValue expected; 346 base::DictionaryValue expected;
324 expected.SetString("country_name_code", 347 expected.SetString("country_name_code",
325 "US"); 348 "US");
326 expected.SetString("recipient_name", 349 expected.SetString("recipient_name",
327 "recipient_name"); 350 "recipient_name");
328 expected.SetString("locality_name", 351 expected.SetString("locality_name",
329 "locality_name"); 352 "locality_name");
353 expected.SetString("dependent_locality_name",
354 "dependent_locality_name");
330 expected.SetString("administrative_area_name", 355 expected.SetString("administrative_area_name",
331 "administrative_area_name"); 356 "administrative_area_name");
332 expected.SetString("postal_code_number", 357 expected.SetString("postal_code_number",
333 "postal_code_number"); 358 "postal_code_number");
359 expected.SetString("sorting_code",
360 "sorting_code");
334 base::ListValue* address_lines = new base::ListValue(); 361 base::ListValue* address_lines = new base::ListValue();
335 address_lines->AppendString("address_line_1"); 362 address_lines->AppendString("address_line_1");
336 address_lines->AppendString("address_line_2"); 363 address_lines->AppendString("address_line_2");
337 expected.Set("address_line", address_lines); 364 expected.Set("address_line", address_lines);
338 365
339 Address address("US", 366 Address address("US",
340 ASCIIToUTF16("recipient_name"), 367 ASCIIToUTF16("recipient_name"),
341 ASCIIToUTF16("address_line_1"), 368 StreetAddress("address_line_1", "address_line_2"),
342 ASCIIToUTF16("address_line_2"),
343 ASCIIToUTF16("locality_name"), 369 ASCIIToUTF16("locality_name"),
370 ASCIIToUTF16("dependent_locality_name"),
344 ASCIIToUTF16("administrative_area_name"), 371 ASCIIToUTF16("administrative_area_name"),
345 ASCIIToUTF16("postal_code_number"), 372 ASCIIToUTF16("postal_code_number"),
373 ASCIIToUTF16("sorting_code"),
346 ASCIIToUTF16("phone_number"), 374 ASCIIToUTF16("phone_number"),
347 std::string()); 375 std::string());
348
349 EXPECT_TRUE(expected.Equals(address.ToDictionaryWithoutID().get()));
350 } 376 }
351 377
352 TEST_F(WalletAddressTest, ToDictionaryWithID) { 378 TEST_F(WalletAddressTest, ToDictionaryWithID) {
353 base::DictionaryValue expected; 379 base::DictionaryValue expected;
354 expected.SetString("id", "id"); 380 expected.SetString("id", "id");
355 expected.SetString("phone_number", "phone_number"); 381 expected.SetString("phone_number", "phone_number");
356 expected.SetString("postal_address.country_name_code", 382 expected.SetString("postal_address.country_name_code",
357 "US"); 383 "US");
358 expected.SetString("postal_address.recipient_name", 384 expected.SetString("postal_address.recipient_name",
359 "recipient_name"); 385 "recipient_name");
360 expected.SetString("postal_address.locality_name", 386 expected.SetString("postal_address.locality_name",
361 "locality_name"); 387 "locality_name");
388 expected.SetString("postal_address.dependent_locality_name",
389 "dependent_locality_name");
362 expected.SetString("postal_address.administrative_area_name", 390 expected.SetString("postal_address.administrative_area_name",
363 "administrative_area_name"); 391 "administrative_area_name");
364 expected.SetString("postal_address.postal_code_number", 392 expected.SetString("postal_address.postal_code_number",
365 "postal_code_number"); 393 "postal_code_number");
394 expected.SetString("postal_address.sorting_code",
395 "sorting_code");
366 base::ListValue* address_lines = new base::ListValue(); 396 base::ListValue* address_lines = new base::ListValue();
367 address_lines->AppendString("address_line_1"); 397 address_lines->AppendString("address_line_1");
368 address_lines->AppendString("address_line_2"); 398 address_lines->AppendString("address_line_2");
369 expected.Set("postal_address.address_line", address_lines); 399 expected.Set("postal_address.address_line", address_lines);
370 400
371 Address address("US", 401 Address address("US",
372 ASCIIToUTF16("recipient_name"), 402 ASCIIToUTF16("recipient_name"),
373 ASCIIToUTF16("address_line_1"), 403 StreetAddress("address_line_1", "address_line_2"),
374 ASCIIToUTF16("address_line_2"),
375 ASCIIToUTF16("locality_name"), 404 ASCIIToUTF16("locality_name"),
405 ASCIIToUTF16("dependent_locality_name"),
376 ASCIIToUTF16("administrative_area_name"), 406 ASCIIToUTF16("administrative_area_name"),
377 ASCIIToUTF16("postal_code_number"), 407 ASCIIToUTF16("postal_code_number"),
408 ASCIIToUTF16("sorting_code"),
378 ASCIIToUTF16("phone_number"), 409 ASCIIToUTF16("phone_number"),
379 "id"); 410 "id");
380 411
381 EXPECT_TRUE(expected.Equals(address.ToDictionaryWithID().get())); 412 EXPECT_TRUE(expected.Equals(address.ToDictionaryWithID().get()));
382 } 413 }
383 414
384 // Verifies that WalletAddress::GetInfo() can correctly return both country 415 // Verifies that WalletAddress::GetInfo() can correctly return both country
385 // codes and localized country names. 416 // codes and localized country names.
386 TEST_F(WalletAddressTest, GetCountryInfo) { 417 TEST_F(WalletAddressTest, GetCountryInfo) {
387 Address address("FR", 418 Address address("FR",
388 ASCIIToUTF16("recipient_name"), 419 ASCIIToUTF16("recipient_name"),
389 ASCIIToUTF16("address_line_1"), 420 StreetAddress("address_line_1", "address_line_2"),
390 ASCIIToUTF16("address_line_2"),
391 ASCIIToUTF16("locality_name"), 421 ASCIIToUTF16("locality_name"),
422 ASCIIToUTF16("dependent_locality_name"),
392 ASCIIToUTF16("administrative_area_name"), 423 ASCIIToUTF16("administrative_area_name"),
393 ASCIIToUTF16("postal_code_number"), 424 ASCIIToUTF16("postal_code_number"),
425 ASCIIToUTF16("sorting_code"),
394 ASCIIToUTF16("phone_number"), 426 ASCIIToUTF16("phone_number"),
395 "id1"); 427 "id1");
396 428
397 AutofillType type = AutofillType(HTML_TYPE_COUNTRY_CODE, HTML_MODE_NONE); 429 AutofillType type = AutofillType(HTML_TYPE_COUNTRY_CODE, HTML_MODE_NONE);
398 EXPECT_EQ(ASCIIToUTF16("FR"), address.GetInfo(type, "en-US")); 430 EXPECT_EQ(ASCIIToUTF16("FR"), address.GetInfo(type, "en-US"));
399 431
400 type = AutofillType(HTML_TYPE_COUNTRY_NAME, HTML_MODE_NONE); 432 type = AutofillType(HTML_TYPE_COUNTRY_NAME, HTML_MODE_NONE);
401 EXPECT_EQ(ASCIIToUTF16("France"), address.GetInfo(type, "en-US")); 433 EXPECT_EQ(ASCIIToUTF16("France"), address.GetInfo(type, "en-US"));
402 434
403 type = AutofillType(ADDRESS_HOME_COUNTRY); 435 type = AutofillType(ADDRESS_HOME_COUNTRY);
404 EXPECT_EQ(ASCIIToUTF16("France"), address.GetInfo(type, "en-US")); 436 EXPECT_EQ(ASCIIToUTF16("France"), address.GetInfo(type, "en-US"));
405 } 437 }
406 438
407 // Verifies that WalletAddress::GetInfo() can correctly return a concatenated 439 // Verifies that WalletAddress::GetInfo() can correctly return a concatenated
408 // full street address. 440 // full street address.
409 TEST_F(WalletAddressTest, GetStreetAddress) { 441 TEST_F(WalletAddressTest, GetStreetAddress) {
442 std::vector<base::string16> street_address = StreetAddress(
443 "address_line_1", "address_line_2");
410 // Address has both lines 1 and 2. 444 // Address has both lines 1 and 2.
411 Address address1("FR", 445 Address address1("FR",
412 ASCIIToUTF16("recipient_name"), 446 ASCIIToUTF16("recipient_name"),
413 ASCIIToUTF16("address_line_1"), 447 street_address,
414 ASCIIToUTF16("address_line_2"),
415 ASCIIToUTF16("locality_name"), 448 ASCIIToUTF16("locality_name"),
449 ASCIIToUTF16("dependent_locality_name"),
416 ASCIIToUTF16("administrative_area_name"), 450 ASCIIToUTF16("administrative_area_name"),
417 ASCIIToUTF16("postal_code_number"), 451 ASCIIToUTF16("postal_code_number"),
452 ASCIIToUTF16("sorting_code"),
418 ASCIIToUTF16("phone_number"), 453 ASCIIToUTF16("phone_number"),
419 "id1"); 454 "id1");
420 AutofillType type = AutofillType(HTML_TYPE_STREET_ADDRESS, HTML_MODE_NONE); 455 AutofillType type = AutofillType(HTML_TYPE_STREET_ADDRESS, HTML_MODE_NONE);
421 EXPECT_EQ(ASCIIToUTF16("address_line_1\naddress_line_2"), 456 EXPECT_EQ(ASCIIToUTF16("address_line_1\naddress_line_2"),
422 address1.GetInfo(type, "en-US")); 457 address1.GetInfo(type, "en-US"));
423 458
424 // Address has only line 1. 459 // Address has only line 1.
460 street_address.resize(1);
425 Address address2("FR", 461 Address address2("FR",
426 ASCIIToUTF16("recipient_name"), 462 ASCIIToUTF16("recipient_name"),
427 ASCIIToUTF16("address_line_1"), 463 street_address,
428 base::string16(),
429 ASCIIToUTF16("locality_name"), 464 ASCIIToUTF16("locality_name"),
465 ASCIIToUTF16("dependent_locality_name"),
430 ASCIIToUTF16("administrative_area_name"), 466 ASCIIToUTF16("administrative_area_name"),
431 ASCIIToUTF16("postal_code_number"), 467 ASCIIToUTF16("postal_code_number"),
468 ASCIIToUTF16("sorting_code"),
432 ASCIIToUTF16("phone_number"), 469 ASCIIToUTF16("phone_number"),
433 "id1"); 470 "id1");
434 EXPECT_EQ(ASCIIToUTF16("address_line_1"), address2.GetInfo(type, "en-US")); 471 EXPECT_EQ(ASCIIToUTF16("address_line_1"), address2.GetInfo(type, "en-US"));
435 472
436 // Address has no address lines. 473 // Address has no address lines.
474 street_address.clear();
437 Address address3("FR", 475 Address address3("FR",
438 ASCIIToUTF16("recipient_name"), 476 ASCIIToUTF16("recipient_name"),
439 base::string16(), 477 street_address,
440 base::string16(),
441 ASCIIToUTF16("locality_name"), 478 ASCIIToUTF16("locality_name"),
479 ASCIIToUTF16("dependent_locality_name"),
442 ASCIIToUTF16("administrative_area_name"), 480 ASCIIToUTF16("administrative_area_name"),
443 ASCIIToUTF16("postal_code_number"), 481 ASCIIToUTF16("postal_code_number"),
482 ASCIIToUTF16("sorting_code"),
444 ASCIIToUTF16("phone_number"), 483 ASCIIToUTF16("phone_number"),
445 "id1"); 484 "id1");
446 EXPECT_EQ(base::string16(), address3.GetInfo(type, "en-US")); 485 EXPECT_EQ(base::string16(), address3.GetInfo(type, "en-US"));
447 } 486 }
448 487
449 } // namespace wallet 488 } // namespace wallet
450 } // namespace autofill 489 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698