OLD | NEW |
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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
11 #include "base/strings/utf_string_conversions.h" | 11 #include "base/strings/utf_string_conversions.h" |
12 #include "components/autofill/core/browser/address.h" | 12 #include "components/autofill/core/browser/address.h" |
13 #include "components/autofill/core/browser/autofill_type.h" | 13 #include "components/autofill/core/browser/autofill_type.h" |
| 14 #include "components/autofill/core/browser/country_names.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
15 | 16 |
16 using base::ASCIIToUTF16; | 17 using base::ASCIIToUTF16; |
17 | 18 |
18 namespace autofill { | 19 namespace autofill { |
19 | 20 |
| 21 class AddressTest : public testing::Test { |
| 22 public: |
| 23 AddressTest() { CountryNames::SetLocaleString("en-US"); } |
| 24 }; |
| 25 |
20 // Test that country data can be properly returned as either a country code or a | 26 // Test that country data can be properly returned as either a country code or a |
21 // localized country name. | 27 // localized country name. |
22 TEST(AddressTest, GetCountry) { | 28 TEST_F(AddressTest, GetCountry) { |
23 Address address; | 29 Address address; |
24 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); | 30 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); |
25 | 31 |
26 // Make sure that nothing breaks when the country code is missing. | 32 // Make sure that nothing breaks when the country code is missing. |
27 base::string16 country = | 33 base::string16 country = |
28 address.GetInfo(AutofillType(ADDRESS_HOME_COUNTRY), "en-US"); | 34 address.GetInfo(AutofillType(ADDRESS_HOME_COUNTRY), "en-US"); |
29 EXPECT_EQ(base::string16(), country); | 35 EXPECT_EQ(base::string16(), country); |
30 | 36 |
31 address.SetInfo( | 37 address.SetInfo( |
32 AutofillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("US"), "en-US"); | 38 AutofillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("US"), "en-US"); |
(...skipping 11 matching lines...) Expand all Loading... |
44 EXPECT_EQ(ASCIIToUTF16("Canada"), country); | 50 EXPECT_EQ(ASCIIToUTF16("Canada"), country); |
45 country = address.GetInfo( | 51 country = address.GetInfo( |
46 AutofillType(HTML_TYPE_COUNTRY_NAME, HTML_MODE_NONE), "en-US"); | 52 AutofillType(HTML_TYPE_COUNTRY_NAME, HTML_MODE_NONE), "en-US"); |
47 EXPECT_EQ(ASCIIToUTF16("Canada"), country); | 53 EXPECT_EQ(ASCIIToUTF16("Canada"), country); |
48 country = address.GetInfo( | 54 country = address.GetInfo( |
49 AutofillType(HTML_TYPE_COUNTRY_CODE, HTML_MODE_NONE), "en-US"); | 55 AutofillType(HTML_TYPE_COUNTRY_CODE, HTML_MODE_NONE), "en-US"); |
50 EXPECT_EQ(ASCIIToUTF16("CA"), country); | 56 EXPECT_EQ(ASCIIToUTF16("CA"), country); |
51 } | 57 } |
52 | 58 |
53 // Test that we properly detect country codes appropriate for each country. | 59 // Test that we properly detect country codes appropriate for each country. |
54 TEST(AddressTest, SetCountry) { | 60 TEST_F(AddressTest, SetCountry) { |
55 Address address; | 61 Address address; |
56 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); | 62 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); |
57 | 63 |
58 // Test basic conversion. | 64 // Test basic conversion. |
59 address.SetInfo( | 65 address.SetInfo( |
60 AutofillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("United States"), | 66 AutofillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("United States"), |
61 "en-US"); | 67 "en-US"); |
62 base::string16 country = | 68 base::string16 country = |
63 address.GetInfo(AutofillType(ADDRESS_HOME_COUNTRY), "en-US"); | 69 address.GetInfo(AutofillType(ADDRESS_HOME_COUNTRY), "en-US"); |
64 EXPECT_EQ(ASCIIToUTF16("US"), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); | 70 EXPECT_EQ(ASCIIToUTF16("US"), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 EXPECT_EQ(ASCIIToUTF16("Canada"), country); | 114 EXPECT_EQ(ASCIIToUTF16("Canada"), country); |
109 | 115 |
110 // Test setting the country based on invalid data with an HTML field type. | 116 // Test setting the country based on invalid data with an HTML field type. |
111 address.SetInfo(html_type_country_code, ASCIIToUTF16("unknown"), "en-US"); | 117 address.SetInfo(html_type_country_code, ASCIIToUTF16("unknown"), "en-US"); |
112 country = address.GetInfo(AutofillType(ADDRESS_HOME_COUNTRY), "en-US"); | 118 country = address.GetInfo(AutofillType(ADDRESS_HOME_COUNTRY), "en-US"); |
113 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); | 119 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); |
114 EXPECT_EQ(base::string16(), country); | 120 EXPECT_EQ(base::string16(), country); |
115 } | 121 } |
116 | 122 |
117 // Test that we properly match typed values to stored country data. | 123 // Test that we properly match typed values to stored country data. |
118 TEST(AddressTest, IsCountry) { | 124 TEST_F(AddressTest, IsCountry) { |
119 Address address; | 125 Address address; |
120 address.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US")); | 126 address.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US")); |
121 | 127 |
122 const char* const kValidMatches[] = { | 128 const char* const kValidMatches[] = { |
123 "United States", | 129 "United States", |
124 "USA", | 130 "USA", |
125 "US", | 131 "US", |
126 "United states", | 132 "United states", |
127 "us" | 133 "us" |
128 }; | 134 }; |
(...skipping 19 matching lines...) Expand all Loading... |
148 | 154 |
149 // Make sure that garbage values don't match when the country code is empty. | 155 // Make sure that garbage values don't match when the country code is empty. |
150 address.SetRawInfo(ADDRESS_HOME_COUNTRY, base::string16()); | 156 address.SetRawInfo(ADDRESS_HOME_COUNTRY, base::string16()); |
151 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); | 157 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_COUNTRY)); |
152 ServerFieldTypeSet matching_types; | 158 ServerFieldTypeSet matching_types; |
153 address.GetMatchingTypes(ASCIIToUTF16("Garbage"), "US", &matching_types); | 159 address.GetMatchingTypes(ASCIIToUTF16("Garbage"), "US", &matching_types); |
154 EXPECT_EQ(0U, matching_types.size()); | 160 EXPECT_EQ(0U, matching_types.size()); |
155 } | 161 } |
156 | 162 |
157 // Verifies that Address::GetInfo() correctly combines address lines. | 163 // Verifies that Address::GetInfo() correctly combines address lines. |
158 TEST(AddressTest, GetStreetAddress) { | 164 TEST_F(AddressTest, GetStreetAddress) { |
159 const AutofillType type = AutofillType(ADDRESS_HOME_STREET_ADDRESS); | 165 const AutofillType type = AutofillType(ADDRESS_HOME_STREET_ADDRESS); |
160 | 166 |
161 // Address has no address lines. | 167 // Address has no address lines. |
162 Address address; | 168 Address address; |
163 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); | 169 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); |
164 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); | 170 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); |
165 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty()); | 171 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty()); |
166 EXPECT_EQ(base::string16(), address.GetInfo(type, "en-US")); | 172 EXPECT_EQ(base::string16(), address.GetInfo(type, "en-US")); |
167 | 173 |
168 // Address has only line 1. | 174 // Address has only line 1. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); | 214 EXPECT_TRUE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); |
209 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty()); | 215 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty()); |
210 EXPECT_EQ(ASCIIToUTF16("123 Example Ave.\n" | 216 EXPECT_EQ(ASCIIToUTF16("123 Example Ave.\n" |
211 "\n" | 217 "\n" |
212 "Living room couch"), | 218 "Living room couch"), |
213 address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); | 219 address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); |
214 } | 220 } |
215 | 221 |
216 // Verifies that overwriting an address with N lines with one that has fewer | 222 // Verifies that overwriting an address with N lines with one that has fewer |
217 // than N lines does not result in an address with blank lines at the end. | 223 // than N lines does not result in an address with blank lines at the end. |
218 TEST(AddressTest, GetStreetAddressAfterOverwritingLongAddressWithShorterOne) { | 224 TEST_F(AddressTest, GetStreetAddressAfterOverwritingLongAddressWithShorterOne) { |
219 // Start with an address that has two lines. | 225 // Start with an address that has two lines. |
220 Address address; | 226 Address address; |
221 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); | 227 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); |
222 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); | 228 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); |
223 | 229 |
224 // Now clear out the second address line. | 230 // Now clear out the second address line. |
225 address.SetRawInfo(ADDRESS_HOME_LINE2, base::string16()); | 231 address.SetRawInfo(ADDRESS_HOME_LINE2, base::string16()); |
226 EXPECT_EQ(ASCIIToUTF16("123 Example Ave."), | 232 EXPECT_EQ(ASCIIToUTF16("123 Example Ave."), |
227 address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); | 233 address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); |
228 | 234 |
229 // Now clear out the first address line as well. | 235 // Now clear out the first address line as well. |
230 address.SetRawInfo(ADDRESS_HOME_LINE1, base::string16()); | 236 address.SetRawInfo(ADDRESS_HOME_LINE1, base::string16()); |
231 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); | 237 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); |
232 } | 238 } |
233 | 239 |
234 // Verifies that Address::SetRawInfo() is able to split address lines correctly. | 240 // Verifies that Address::SetRawInfo() is able to split address lines correctly. |
235 TEST(AddressTest, SetRawStreetAddress) { | 241 TEST_F(AddressTest, SetRawStreetAddress) { |
236 const base::string16 empty_street_address; | 242 const base::string16 empty_street_address; |
237 const base::string16 short_street_address = ASCIIToUTF16("456 Nowhere Ln."); | 243 const base::string16 short_street_address = ASCIIToUTF16("456 Nowhere Ln."); |
238 const base::string16 long_street_address = | 244 const base::string16 long_street_address = |
239 ASCIIToUTF16("123 Example Ave.\n" | 245 ASCIIToUTF16("123 Example Ave.\n" |
240 "Apt. 42\n" | 246 "Apt. 42\n" |
241 "(The one with the blue door)"); | 247 "(The one with the blue door)"); |
242 | 248 |
243 Address address; | 249 Address address; |
244 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); | 250 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); |
245 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 251 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
(...skipping 12 matching lines...) Expand all Loading... |
258 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 264 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
259 | 265 |
260 // An empty address should clear out all address lines. | 266 // An empty address should clear out all address lines. |
261 address.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, long_street_address); | 267 address.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, long_street_address); |
262 address.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, empty_street_address); | 268 address.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, empty_street_address); |
263 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); | 269 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); |
264 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 270 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
265 } | 271 } |
266 | 272 |
267 // Street addresses should be set properly. | 273 // Street addresses should be set properly. |
268 TEST(AddressTest, SetStreetAddress) { | 274 TEST_F(AddressTest, SetStreetAddress) { |
269 const base::string16 empty_street_address; | 275 const base::string16 empty_street_address; |
270 const base::string16 multi_line_street_address = | 276 const base::string16 multi_line_street_address = |
271 ASCIIToUTF16("789 Fancy Pkwy.\n" | 277 ASCIIToUTF16("789 Fancy Pkwy.\n" |
272 "Unit 3.14\n" | 278 "Unit 3.14\n" |
273 "Box 9"); | 279 "Box 9"); |
274 const base::string16 single_line_street_address = | 280 const base::string16 single_line_street_address = |
275 ASCIIToUTF16("123 Main, Apt 7"); | 281 ASCIIToUTF16("123 Main, Apt 7"); |
276 const AutofillType type = AutofillType(ADDRESS_HOME_STREET_ADDRESS); | 282 const AutofillType type = AutofillType(ADDRESS_HOME_STREET_ADDRESS); |
277 | 283 |
278 // Start with a non-empty address. | 284 // Start with a non-empty address. |
(...skipping 25 matching lines...) Expand all Loading... |
304 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); | 310 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); |
305 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty()); | 311 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE3).empty()); |
306 EXPECT_TRUE(address.SetInfo(type, empty_street_address, "en-US")); | 312 EXPECT_TRUE(address.SetInfo(type, empty_street_address, "en-US")); |
307 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); | 313 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); |
308 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 314 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
309 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE3)); | 315 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE3)); |
310 } | 316 } |
311 | 317 |
312 // Verifies that Address::SetInfio() rejects setting data for | 318 // Verifies that Address::SetInfio() rejects setting data for |
313 // ADDRESS_HOME_STREET_ADDRESS if the data has any interior blank lines. | 319 // ADDRESS_HOME_STREET_ADDRESS if the data has any interior blank lines. |
314 TEST(AddressTest, SetStreetAddressRejectsAddressesWithInteriorBlankLines) { | 320 TEST_F(AddressTest, SetStreetAddressRejectsAddressesWithInteriorBlankLines) { |
315 // Start with a non-empty address. | 321 // Start with a non-empty address. |
316 Address address; | 322 Address address; |
317 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); | 323 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); |
318 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); | 324 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); |
319 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); | 325 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); |
320 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); | 326 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); |
321 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS).empty()); | 327 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS).empty()); |
322 | 328 |
323 // Attempting to set an address with interior blank lines should fail, and | 329 // Attempting to set an address with interior blank lines should fail, and |
324 // clear out the previously stored address. | 330 // clear out the previously stored address. |
325 EXPECT_FALSE(address.SetInfo(AutofillType(ADDRESS_HOME_STREET_ADDRESS), | 331 EXPECT_FALSE(address.SetInfo(AutofillType(ADDRESS_HOME_STREET_ADDRESS), |
326 ASCIIToUTF16("Address line 1\n" | 332 ASCIIToUTF16("Address line 1\n" |
327 "\n" | 333 "\n" |
328 "Address line 3"), | 334 "Address line 3"), |
329 "en-US")); | 335 "en-US")); |
330 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); | 336 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); |
331 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 337 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
332 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); | 338 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); |
333 } | 339 } |
334 | 340 |
335 // Verifies that Address::SetInfio() rejects setting data for | 341 // Verifies that Address::SetInfio() rejects setting data for |
336 // ADDRESS_HOME_STREET_ADDRESS if the data has any leading blank lines. | 342 // ADDRESS_HOME_STREET_ADDRESS if the data has any leading blank lines. |
337 TEST(AddressTest, SetStreetAddressRejectsAddressesWithLeadingBlankLines) { | 343 TEST_F(AddressTest, SetStreetAddressRejectsAddressesWithLeadingBlankLines) { |
338 // Start with a non-empty address. | 344 // Start with a non-empty address. |
339 Address address; | 345 Address address; |
340 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); | 346 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); |
341 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); | 347 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); |
342 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); | 348 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); |
343 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); | 349 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); |
344 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS).empty()); | 350 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS).empty()); |
345 | 351 |
346 // Attempting to set an address with leading blank lines should fail, and | 352 // Attempting to set an address with leading blank lines should fail, and |
347 // clear out the previously stored address. | 353 // clear out the previously stored address. |
348 EXPECT_FALSE(address.SetInfo(AutofillType(ADDRESS_HOME_STREET_ADDRESS), | 354 EXPECT_FALSE(address.SetInfo(AutofillType(ADDRESS_HOME_STREET_ADDRESS), |
349 ASCIIToUTF16("\n" | 355 ASCIIToUTF16("\n" |
350 "Address line 2" | 356 "Address line 2" |
351 "Address line 3"), | 357 "Address line 3"), |
352 "en-US")); | 358 "en-US")); |
353 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); | 359 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); |
354 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 360 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
355 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); | 361 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); |
356 } | 362 } |
357 | 363 |
358 // Verifies that Address::SetInfio() rejects setting data for | 364 // Verifies that Address::SetInfio() rejects setting data for |
359 // ADDRESS_HOME_STREET_ADDRESS if the data has any trailing blank lines. | 365 // ADDRESS_HOME_STREET_ADDRESS if the data has any trailing blank lines. |
360 TEST(AddressTest, SetStreetAddressRejectsAddressesWithTrailingBlankLines) { | 366 TEST_F(AddressTest, SetStreetAddressRejectsAddressesWithTrailingBlankLines) { |
361 // Start with a non-empty address. | 367 // Start with a non-empty address. |
362 Address address; | 368 Address address; |
363 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); | 369 address.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("123 Example Ave.")); |
364 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); | 370 address.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Apt. 42")); |
365 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); | 371 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE1).empty()); |
366 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); | 372 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_LINE2).empty()); |
367 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS).empty()); | 373 EXPECT_FALSE(address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS).empty()); |
368 | 374 |
369 // Attempting to set an address with leading blank lines should fail, and | 375 // Attempting to set an address with leading blank lines should fail, and |
370 // clear out the previously stored address. | 376 // clear out the previously stored address. |
371 EXPECT_FALSE(address.SetInfo(AutofillType(ADDRESS_HOME_STREET_ADDRESS), | 377 EXPECT_FALSE(address.SetInfo(AutofillType(ADDRESS_HOME_STREET_ADDRESS), |
372 ASCIIToUTF16("Address line 1" | 378 ASCIIToUTF16("Address line 1" |
373 "Address line 2" | 379 "Address line 2" |
374 "\n"), | 380 "\n"), |
375 "en-US")); | 381 "en-US")); |
376 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); | 382 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE1)); |
377 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); | 383 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_LINE2)); |
378 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); | 384 EXPECT_EQ(base::string16(), address.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS)); |
379 } | 385 } |
380 | 386 |
381 } // namespace autofill | 387 } // namespace autofill |
OLD | NEW |