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

Side by Side Diff: chrome/browser/autofill/autofill_profile_unittest.cc

Issue 5766004: Don't wrap string16() around ASCIIToUTF16() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/scoped_ptr.h" 6 #include "base/scoped_ptr.h"
7 #include "base/stl_util-inl.h" 7 #include "base/stl_util-inl.h"
8 #include "base/string16.h" 8 #include "base/string16.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/autofill/autofill_common_test.h" 10 #include "chrome/browser/autofill/autofill_common_test.h"
(...skipping 21 matching lines...) Expand all
32 EXPECT_EQ(string16(), summary0); 32 EXPECT_EQ(string16(), summary0);
33 33
34 // Case 0a/empty name and address, so the first two fields of the rest of the 34 // Case 0a/empty name and address, so the first two fields of the rest of the
35 // data is used: "Hollywood, CA" 35 // data is used: "Hollywood, CA"
36 AutoFillProfile profile00; 36 AutoFillProfile profile00;
37 autofill_test::SetProfileInfo(&profile00, "Billing", "", "Mitchell", "", 37 autofill_test::SetProfileInfo(&profile00, "Billing", "", "Mitchell", "",
38 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US", 38 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US",
39 "12345678910", "01987654321"); 39 "12345678910", "01987654321");
40 EXPECT_TRUE(UpdateProfileLabel(&profile00)); 40 EXPECT_TRUE(UpdateProfileLabel(&profile00));
41 string16 summary00 = profile00.Label(); 41 string16 summary00 = profile00.Label();
42 EXPECT_EQ(string16(ASCIIToUTF16("Hollywood, CA")), summary00); 42 EXPECT_EQ(ASCIIToUTF16("Hollywood, CA"), summary00);
43 43
44 // Case 1: "<address>" 44 // Case 1: "<address>"
45 AutoFillProfile profile1; 45 AutoFillProfile profile1;
46 autofill_test::SetProfileInfo(&profile1, "Billing", "", "Mitchell", "", 46 autofill_test::SetProfileInfo(&profile1, "Billing", "", "Mitchell", "",
47 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", 47 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA",
48 "91601", "US", "12345678910", "01987654321"); 48 "91601", "US", "12345678910", "01987654321");
49 EXPECT_TRUE(UpdateProfileLabel(&profile1)); 49 EXPECT_TRUE(UpdateProfileLabel(&profile1));
50 string16 summary1 = profile1.Label(); 50 string16 summary1 = profile1.Label();
51 EXPECT_EQ(string16(ASCIIToUTF16("123 Zoo St., Hollywood")), summary1); 51 EXPECT_EQ(ASCIIToUTF16("123 Zoo St., Hollywood"), summary1);
52 52
53 // Case 2: "<lastname>" 53 // Case 2: "<lastname>"
54 AutoFillProfile profile2; 54 AutoFillProfile profile2;
55 autofill_test::SetProfileInfo(&profile2, "Billing", "", "Mitchell", 55 autofill_test::SetProfileInfo(&profile2, "Billing", "", "Mitchell",
56 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", 56 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA",
57 "91601", "US", "12345678910", "01987654321"); 57 "91601", "US", "12345678910", "01987654321");
58 EXPECT_TRUE(UpdateProfileLabel(&profile2)); 58 EXPECT_TRUE(UpdateProfileLabel(&profile2));
59 string16 summary2 = profile2.Label(); 59 string16 summary2 = profile2.Label();
60 // Summary does include full name which is empty if the first name is empty. 60 // Summary does include full name which is empty if the first name is empty.
61 EXPECT_EQ(string16(ASCIIToUTF16("Hollywood, CA")), summary2); 61 EXPECT_EQ(ASCIIToUTF16("Hollywood, CA"), summary2);
62 62
63 // Case 3: "<lastname>, <address>" 63 // Case 3: "<lastname>, <address>"
64 AutoFillProfile profile3; 64 AutoFillProfile profile3;
65 autofill_test::SetProfileInfo(&profile3, "Billing", "", "Mitchell", 65 autofill_test::SetProfileInfo(&profile3, "Billing", "", "Mitchell",
66 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", 66 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5",
67 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321"); 67 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321");
68 EXPECT_TRUE(UpdateProfileLabel(&profile3)); 68 EXPECT_TRUE(UpdateProfileLabel(&profile3));
69 string16 summary3 = profile3.Label(); 69 string16 summary3 = profile3.Label();
70 EXPECT_EQ(string16(ASCIIToUTF16("123 Zoo St., Hollywood")), summary3); 70 EXPECT_EQ(ASCIIToUTF16("123 Zoo St., Hollywood"), summary3);
71 71
72 // Case 4: "<firstname>" 72 // Case 4: "<firstname>"
73 AutoFillProfile profile4; 73 AutoFillProfile profile4;
74 autofill_test::SetProfileInfo(&profile4, "Billing", "Marion", "Mitchell", "", 74 autofill_test::SetProfileInfo(&profile4, "Billing", "Marion", "Mitchell", "",
75 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US", 75 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US",
76 "12345678910", "01987654321"); 76 "12345678910", "01987654321");
77 EXPECT_TRUE(UpdateProfileLabel(&profile4)); 77 EXPECT_TRUE(UpdateProfileLabel(&profile4));
78 string16 summary4 = profile4.Label(); 78 string16 summary4 = profile4.Label();
79 EXPECT_EQ(string16(ASCIIToUTF16("Marion Mitchell, Hollywood")), summary4); 79 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell, Hollywood"), summary4);
80 80
81 // Case 5: "<firstname>, <address>" 81 // Case 5: "<firstname>, <address>"
82 AutoFillProfile profile5; 82 AutoFillProfile profile5;
83 autofill_test::SetProfileInfo(&profile5, "Billing", "Marion", "Mitchell", "", 83 autofill_test::SetProfileInfo(&profile5, "Billing", "Marion", "Mitchell", "",
84 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", 84 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA",
85 "91601", "US", "12345678910", "01987654321"); 85 "91601", "US", "12345678910", "01987654321");
86 EXPECT_TRUE(UpdateProfileLabel(&profile5)); 86 EXPECT_TRUE(UpdateProfileLabel(&profile5));
87 string16 summary5 = profile5.Label(); 87 string16 summary5 = profile5.Label();
88 EXPECT_EQ(string16(ASCIIToUTF16("Marion Mitchell, 123 Zoo St.")), summary5); 88 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell, 123 Zoo St."), summary5);
89 89
90 // Case 6: "<firstname> <lastname>" 90 // Case 6: "<firstname> <lastname>"
91 AutoFillProfile profile6; 91 AutoFillProfile profile6;
92 autofill_test::SetProfileInfo(&profile6, "Billing", "Marion", "Mitchell", 92 autofill_test::SetProfileInfo(&profile6, "Billing", "Marion", "Mitchell",
93 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", 93 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA",
94 "91601", "US", "12345678910", "01987654321"); 94 "91601", "US", "12345678910", "01987654321");
95 EXPECT_TRUE(UpdateProfileLabel(&profile6)); 95 EXPECT_TRUE(UpdateProfileLabel(&profile6));
96 string16 summary6 = profile6.Label(); 96 string16 summary6 = profile6.Label();
97 EXPECT_EQ(string16(ASCIIToUTF16("Marion Mitchell Morrison, Hollywood")), 97 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell Morrison, Hollywood"),
98 summary6); 98 summary6);
99 99
100 // Case 7: "<firstname> <lastname>, <address>" 100 // Case 7: "<firstname> <lastname>, <address>"
101 AutoFillProfile profile7; 101 AutoFillProfile profile7;
102 autofill_test::SetProfileInfo(&profile7, "Billing", "Marion", "Mitchell", 102 autofill_test::SetProfileInfo(&profile7, "Billing", "Marion", "Mitchell",
103 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", 103 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5",
104 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321"); 104 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321");
105 EXPECT_TRUE(UpdateProfileLabel(&profile7)); 105 EXPECT_TRUE(UpdateProfileLabel(&profile7));
106 string16 summary7 = profile7.Label(); 106 string16 summary7 = profile7.Label();
107 EXPECT_EQ(string16(ASCIIToUTF16("Marion Mitchell Morrison, 123 Zoo St.")), 107 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell Morrison, 123 Zoo St."),
108 summary7); 108 summary7);
109 109
110 // Case 7a: "<firstname> <lastname>, <address>" - same as #7, except for 110 // Case 7a: "<firstname> <lastname>, <address>" - same as #7, except for
111 // e-mail. 111 // e-mail.
112 AutoFillProfile profile7a; 112 AutoFillProfile profile7a;
113 autofill_test::SetProfileInfo(&profile7a, "Billing", "Marion", "Mitchell", 113 autofill_test::SetProfileInfo(&profile7a, "Billing", "Marion", "Mitchell",
114 "Morrison", "marion@me.xyz", "Fox", "123 Zoo St.", "unit 5", 114 "Morrison", "marion@me.xyz", "Fox", "123 Zoo St.", "unit 5",
115 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321"); 115 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321");
116 std::vector<AutoFillProfile*> profiles; 116 std::vector<AutoFillProfile*> profiles;
117 profiles.push_back(&profile7); 117 profiles.push_back(&profile7);
118 profiles.push_back(&profile7a); 118 profiles.push_back(&profile7a);
119 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles)); 119 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
120 summary7 = profile7.Label(); 120 summary7 = profile7.Label();
121 string16 summary7a = profile7a.Label(); 121 string16 summary7a = profile7a.Label();
122 EXPECT_EQ(string16(ASCIIToUTF16( 122 EXPECT_EQ(ASCIIToUTF16(
123 "Marion Mitchell Morrison, 123 Zoo St., johnwayne@me.xyz")), summary7); 123 "Marion Mitchell Morrison, 123 Zoo St., johnwayne@me.xyz"), summary7);
124 EXPECT_EQ(string16(ASCIIToUTF16( 124 EXPECT_EQ(ASCIIToUTF16(
125 "Marion Mitchell Morrison, 123 Zoo St., marion@me.xyz")), summary7a); 125 "Marion Mitchell Morrison, 123 Zoo St., marion@me.xyz"), summary7a);
126 } 126 }
127 127
128 TEST(AutoFillProfileTest, AdjustInferredLabels) { 128 TEST(AutoFillProfileTest, AdjustInferredLabels) {
129 std::vector<AutoFillProfile*> profiles; 129 std::vector<AutoFillProfile*> profiles;
130 profiles.push_back(new AutoFillProfile); 130 profiles.push_back(new AutoFillProfile);
131 autofill_test::SetProfileInfo( 131 autofill_test::SetProfileInfo(
132 profiles[0], 132 profiles[0],
133 "", 133 "",
134 "John", 134 "John",
135 "", 135 "",
(...skipping 20 matching lines...) Expand all
156 "", 156 "",
157 "Dis", "CA", 157 "Dis", "CA",
158 "91222", 158 "91222",
159 "US", 159 "US",
160 "12345678910", 160 "12345678910",
161 "01987654321"); 161 "01987654321");
162 // As labels are empty they are adjusted the first time. 162 // As labels are empty they are adjusted the first time.
163 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles)); 163 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
164 // No need to adjust them anymore. 164 // No need to adjust them anymore.
165 EXPECT_FALSE(AutoFillProfile::AdjustInferredLabels(&profiles)); 165 EXPECT_FALSE(AutoFillProfile::AdjustInferredLabels(&profiles));
166 EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St.")), 166 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St."),
167 profiles[0]->Label()); 167 profiles[0]->Label());
168 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")), 168 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."),
169 profiles[1]->Label()); 169 profiles[1]->Label());
170 170
171 profiles.push_back(new AutoFillProfile); 171 profiles.push_back(new AutoFillProfile);
172 autofill_test::SetProfileInfo( 172 autofill_test::SetProfileInfo(
173 profiles[2], 173 profiles[2],
174 "", 174 "",
175 "John", 175 "John",
176 "", 176 "",
177 "Doe", 177 "Doe",
178 "johndoe@tertium.com", 178 "johndoe@tertium.com",
179 "Underworld", 179 "Underworld",
180 "666 Erebus St.", 180 "666 Erebus St.",
181 "", 181 "",
182 "Elysium", "CA", 182 "Elysium", "CA",
183 "91111", 183 "91111",
184 "US", 184 "US",
185 "11111111111", 185 "11111111111",
186 "22222222222"); 186 "22222222222");
187 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles)); 187 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
188 188
189 // Profile 0 and 2 inferred label now includes an e-mail. 189 // Profile 0 and 2 inferred label now includes an e-mail.
190 EXPECT_EQ(string16( 190 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com"),
191 ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com")),
192 profiles[0]->Label()); 191 profiles[0]->Label());
193 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")), 192 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."),
194 profiles[1]->Label()); 193 profiles[1]->Label());
195 EXPECT_EQ(string16( 194 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@tertium.com"),
196 ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@tertium.com")),
197 profiles[2]->Label()); 195 profiles[2]->Label());
198 196
199 delete profiles[2]; 197 delete profiles[2];
200 profiles.pop_back(); 198 profiles.pop_back();
201 199
202 profiles.push_back(new AutoFillProfile); 200 profiles.push_back(new AutoFillProfile);
203 autofill_test::SetProfileInfo( 201 autofill_test::SetProfileInfo(
204 profiles[2], 202 profiles[2],
205 "", 203 "",
206 "John", 204 "John",
207 "", 205 "",
208 "Doe", 206 "Doe",
209 "johndoe@hades.com", 207 "johndoe@hades.com",
210 "Underworld", 208 "Underworld",
211 "666 Erebus St.", 209 "666 Erebus St.",
212 "", 210 "",
213 "Elysium", "CA", 211 "Elysium", "CA",
214 "91111", 212 "91111",
215 "US", 213 "US",
216 "11111111111", 214 "11111111111",
217 "33333333333"); // Fax is different 215 "33333333333"); // Fax is different
218 216
219 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles)); 217 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
220 218
221 // Profile 0 and 2 inferred label now includes a fax number. 219 // Profile 0 and 2 inferred label now includes a fax number.
222 EXPECT_EQ(string16(ASCIIToUTF16( 220 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., fax:#22222222222"),
223 "John Doe, 666 Erebus St., fax:#22222222222")),
224 profiles[0]->Label()); 221 profiles[0]->Label());
225 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")), 222 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."),
226 profiles[1]->Label()); 223 profiles[1]->Label());
227 EXPECT_EQ(string16(ASCIIToUTF16( 224 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., fax:#33333333333"),
228 "John Doe, 666 Erebus St., fax:#33333333333")),
229 profiles[2]->Label()); 225 profiles[2]->Label());
230 226
231 profiles.push_back(new AutoFillProfile); 227 profiles.push_back(new AutoFillProfile);
232 autofill_test::SetProfileInfo( 228 autofill_test::SetProfileInfo(
233 profiles[3], 229 profiles[3],
234 "", 230 "",
235 "John", 231 "John",
236 "", 232 "",
237 "Doe", 233 "Doe",
238 "johndoe@hades.com", 234 "johndoe@hades.com",
239 "Underworld", 235 "Underworld",
240 "666 Erebus St.", 236 "666 Erebus St.",
241 "", 237 "",
242 "Elysium", "CA", 238 "Elysium", "CA",
243 "91111", 239 "91111",
244 "US", 240 "US",
245 "44444444444", // Phone is different for some. 241 "44444444444", // Phone is different for some.
246 "33333333333"); // Fax is different for some. 242 "33333333333"); // Fax is different for some.
247 243
248 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles)); 244 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
249 245
250 EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111," 246 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111,"
251 " fax:#22222222222")), 247 " fax:#22222222222"),
252 profiles[0]->Label()); 248 profiles[0]->Label());
253 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")), 249 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."),
254 profiles[1]->Label()); 250 profiles[1]->Label());
255 EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111," 251 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111,"
256 " fax:#33333333333")), 252 " fax:#33333333333"),
257 profiles[2]->Label()); 253 profiles[2]->Label());
258 // This one differs from other ones by unique phone, so no need for extra 254 // This one differs from other ones by unique phone, so no need for extra
259 // information. 255 // information.
260 EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., 44444444444")), 256 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 44444444444"),
261 profiles[3]->Label()); 257 profiles[3]->Label());
262 258
263 profiles.push_back(new AutoFillProfile); 259 profiles.push_back(new AutoFillProfile);
264 autofill_test::SetProfileInfo( 260 autofill_test::SetProfileInfo(
265 profiles[4], 261 profiles[4],
266 "", 262 "",
267 "John", 263 "John",
268 "", 264 "",
269 "Doe", 265 "Doe",
270 "johndoe@styx.com", // E-Mail is different for some. 266 "johndoe@styx.com", // E-Mail is different for some.
271 "Underworld", 267 "Underworld",
272 "666 Erebus St.", 268 "666 Erebus St.",
273 "", 269 "",
274 "Elysium", "CA", 270 "Elysium", "CA",
275 "91111", 271 "91111",
276 "US", 272 "US",
277 "44444444444", // Phone is different for some. 273 "44444444444", // Phone is different for some.
278 "33333333333"); // Fax is different for some. 274 "33333333333"); // Fax is different for some.
279 275
280 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles)); 276 EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
281 277
282 EXPECT_EQ(string16(ASCIIToUTF16( 278 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com,"
283 "John Doe, 666 Erebus St., johndoe@hades.com," 279 " 11111111111, fax:#22222222222"),
284 " 11111111111, fax:#22222222222")), 280 profiles[0]->Label());
285 profiles[0]->Label()); 281 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."),
286 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")),
287 profiles[1]->Label()); 282 profiles[1]->Label());
288 EXPECT_EQ(string16(ASCIIToUTF16( 283 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com,"
289 "John Doe, 666 Erebus St., johndoe@hades.com," 284 " 11111111111, fax:#33333333333"),
290 " 11111111111, fax:#33333333333")), 285 profiles[2]->Label());
291 profiles[2]->Label()); 286 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com,"
292 EXPECT_EQ(string16(ASCIIToUTF16( 287 " 44444444444, fax:#33333333333"),
293 "John Doe, 666 Erebus St., johndoe@hades.com," 288 profiles[3]->Label());
294 " 44444444444, fax:#33333333333")),
295 profiles[3]->Label());
296 // This one differs from other ones by unique e-mail, so no need for extra 289 // This one differs from other ones by unique e-mail, so no need for extra
297 // information. 290 // information.
298 EXPECT_EQ(string16(ASCIIToUTF16( 291 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@styx.com"),
299 "John Doe, 666 Erebus St., johndoe@styx.com")), 292 profiles[4]->Label());
300 profiles[4]->Label());
301 293
302 EXPECT_FALSE(AutoFillProfile::AdjustInferredLabels(&profiles)); 294 EXPECT_FALSE(AutoFillProfile::AdjustInferredLabels(&profiles));
303 295
304 // Clean up. 296 // Clean up.
305 STLDeleteContainerPointers(profiles.begin(), profiles.end()); 297 STLDeleteContainerPointers(profiles.begin(), profiles.end());
306 } 298 }
307 299
308 TEST(AutoFillProfileTest, CreateInferredLabels) { 300 TEST(AutoFillProfileTest, CreateInferredLabels) {
309 std::vector<AutoFillProfile*> profiles; 301 std::vector<AutoFillProfile*> profiles;
310 profiles.push_back(new AutoFillProfile); 302 profiles.push_back(new AutoFillProfile);
(...skipping 23 matching lines...) Expand all
334 "", 326 "",
335 "Dis", "CA", 327 "Dis", "CA",
336 "91222", 328 "91222",
337 "US", 329 "US",
338 "12345678910", 330 "12345678910",
339 "01987654321"); 331 "01987654321");
340 std::vector<string16> labels; 332 std::vector<string16> labels;
341 // Two fields at least - no filter. 333 // Two fields at least - no filter.
342 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 2, UNKNOWN_TYPE, 334 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 2, UNKNOWN_TYPE,
343 NULL); 335 NULL);
344 EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St.")), labels[0]); 336 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St."), labels[0]);
345 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")), labels[1]); 337 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), labels[1]);
346 338
347 // Three fields at least - no filter. 339 // Three fields at least - no filter.
348 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 3, UNKNOWN_TYPE, 340 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 3, UNKNOWN_TYPE,
349 NULL); 341 NULL);
350 EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., Elysium")), 342 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., Elysium"),
351 labels[0]); 343 labels[0]);
352 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore., Dis")), 344 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore., Dis"),
353 labels[1]); 345 labels[1]);
354 346
355 // Two fields at least - filter out the name. 347 // Two fields at least - filter out the name.
356 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 2, NAME_FULL, NULL); 348 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 2, NAME_FULL, NULL);
357 EXPECT_EQ(string16(ASCIIToUTF16("666 Erebus St., Elysium")), labels[0]); 349 EXPECT_EQ(ASCIIToUTF16("666 Erebus St., Elysium"), labels[0]);
358 EXPECT_EQ(string16(ASCIIToUTF16("123 Letha Shore., Dis")), labels[1]); 350 EXPECT_EQ(ASCIIToUTF16("123 Letha Shore., Dis"), labels[1]);
359 351
360 std::vector<AutoFillFieldType> suggested_fields; 352 std::vector<AutoFillFieldType> suggested_fields;
361 suggested_fields.push_back(ADDRESS_HOME_CITY); 353 suggested_fields.push_back(ADDRESS_HOME_CITY);
362 suggested_fields.push_back(ADDRESS_HOME_STATE); 354 suggested_fields.push_back(ADDRESS_HOME_STATE);
363 suggested_fields.push_back(ADDRESS_HOME_ZIP); 355 suggested_fields.push_back(ADDRESS_HOME_ZIP);
364 356
365 // Two fields at least, from suggested fields - no filter. 357 // Two fields at least, from suggested fields - no filter.
366 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 2, UNKNOWN_TYPE, 358 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 2, UNKNOWN_TYPE,
367 &suggested_fields); 359 &suggested_fields);
368 EXPECT_EQ(string16(ASCIIToUTF16("Elysium, CA")), labels[0]); 360 EXPECT_EQ(ASCIIToUTF16("Elysium, CA"), labels[0]);
369 EXPECT_EQ(string16(ASCIIToUTF16("Dis, CA")), labels[1]); 361 EXPECT_EQ(ASCIIToUTF16("Dis, CA"), labels[1]);
370 362
371 // Three fields at least, from suggested fields - no filter. 363 // Three fields at least, from suggested fields - no filter.
372 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 3, UNKNOWN_TYPE, 364 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 3, UNKNOWN_TYPE,
373 &suggested_fields); 365 &suggested_fields);
374 EXPECT_EQ(string16(ASCIIToUTF16("Elysium, CA, 91111")), labels[0]); 366 EXPECT_EQ(ASCIIToUTF16("Elysium, CA, 91111"), labels[0]);
375 EXPECT_EQ(string16(ASCIIToUTF16("Dis, CA, 91222")), labels[1]); 367 EXPECT_EQ(ASCIIToUTF16("Dis, CA, 91222"), labels[1]);
376 368
377 // Three fields at least, from suggested fields - but filter reduces available 369 // Three fields at least, from suggested fields - but filter reduces available
378 // fields to two. 370 // fields to two.
379 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 3, 371 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 3,
380 ADDRESS_HOME_STATE, &suggested_fields); 372 ADDRESS_HOME_STATE, &suggested_fields);
381 EXPECT_EQ(string16(ASCIIToUTF16("Elysium, 91111")), labels[0]); 373 EXPECT_EQ(ASCIIToUTF16("Elysium, 91111"), labels[0]);
382 EXPECT_EQ(string16(ASCIIToUTF16("Dis, 91222")), labels[1]); 374 EXPECT_EQ(ASCIIToUTF16("Dis, 91222"), labels[1]);
383 375
384 suggested_fields.clear(); 376 suggested_fields.clear();
385 // In our implementation we always display NAME_FULL for all NAME* fields... 377 // In our implementation we always display NAME_FULL for all NAME* fields...
386 suggested_fields.push_back(NAME_MIDDLE); 378 suggested_fields.push_back(NAME_MIDDLE);
387 // One field at least, from suggested fields - no filter. 379 // One field at least, from suggested fields - no filter.
388 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 1, UNKNOWN_TYPE, 380 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 1, UNKNOWN_TYPE,
389 &suggested_fields); 381 &suggested_fields);
390 EXPECT_EQ(string16(ASCIIToUTF16("John Doe")), labels[0]); 382 EXPECT_EQ(ASCIIToUTF16("John Doe"), labels[0]);
391 EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe")), labels[1]); 383 EXPECT_EQ(ASCIIToUTF16("Jane Doe"), labels[1]);
392 384
393 // One field at least, from suggested fields - filter the same as suggested 385 // One field at least, from suggested fields - filter the same as suggested
394 // field. 386 // field.
395 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 1, NAME_MIDDLE, 387 AutoFillProfile::CreateInferredLabels(&profiles, &labels, 1, NAME_MIDDLE,
396 &suggested_fields); 388 &suggested_fields);
397 EXPECT_EQ(string16(ASCIIToUTF16("")), labels[0]); 389 EXPECT_EQ(string16(), labels[0]);
398 EXPECT_EQ(string16(ASCIIToUTF16("")), labels[1]); 390 EXPECT_EQ(string16(), labels[1]);
399 // Clean up. 391 // Clean up.
400 STLDeleteContainerPointers(profiles.begin(), profiles.end()); 392 STLDeleteContainerPointers(profiles.begin(), profiles.end());
401 } 393 }
402 394
403 TEST(AutoFillProfileTest, IsSubsetOf) { 395 TEST(AutoFillProfileTest, IsSubsetOf) {
404 scoped_ptr<AutoFillProfile> a, b; 396 scoped_ptr<AutoFillProfile> a, b;
405 397
406 // |a| is a subset of |b|. 398 // |a| is a subset of |b|.
407 a.reset(new AutoFillProfile); 399 a.reset(new AutoFillProfile);
408 b.reset(new AutoFillProfile); 400 b.reset(new AutoFillProfile);
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 // Different values produce non-zero results. 529 // Different values produce non-zero results.
538 autofill_test::SetProfileInfo(&a, "label1", "Jimmy", NULL, NULL, NULL, 530 autofill_test::SetProfileInfo(&a, "label1", "Jimmy", NULL, NULL, NULL,
539 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); 531 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
540 autofill_test::SetProfileInfo(&b, "label1", "Ringo", NULL, NULL, NULL, 532 autofill_test::SetProfileInfo(&b, "label1", "Ringo", NULL, NULL, NULL,
541 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); 533 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
542 EXPECT_GT(0, a.Compare(b)); 534 EXPECT_GT(0, a.Compare(b));
543 EXPECT_LT(0, b.Compare(a)); 535 EXPECT_LT(0, b.Compare(a));
544 } 536 }
545 537
546 } // namespace 538 } // namespace
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698