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

Side by Side Diff: components/autofill/core/browser/address_unittest.cc

Issue 1582353006: CountryNames: Separate data creation from usage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@571610_exposeCountryNamesToTesting
Patch Set: Just rebased Created 4 years, 11 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
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 <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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « components/autofill/core/browser/address.cc ('k') | components/autofill/core/browser/autofill_field.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698