OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/memory/scoped_vector.h" | 7 #include "base/memory/scoped_vector.h" |
8 #include "base/stl_util-inl.h" | 8 #include "base/stl_util-inl.h" |
9 #include "base/string16.h" | 9 #include "base/string16.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 // Empty profile - nothing to update. | 32 // Empty profile - nothing to update. |
33 EXPECT_FALSE(UpdateProfileLabel(&profile0)); | 33 EXPECT_FALSE(UpdateProfileLabel(&profile0)); |
34 string16 summary0 = profile0.Label(); | 34 string16 summary0 = profile0.Label(); |
35 EXPECT_EQ(string16(), summary0); | 35 EXPECT_EQ(string16(), summary0); |
36 | 36 |
37 // Case 0a/empty name and address, so the first two fields of the rest of the | 37 // Case 0a/empty name and address, so the first two fields of the rest of the |
38 // data is used: "Hollywood, CA" | 38 // data is used: "Hollywood, CA" |
39 AutofillProfile profile00; | 39 AutofillProfile profile00; |
40 autofill_test::SetProfileInfo(&profile00, "", "Mitchell", "", | 40 autofill_test::SetProfileInfo(&profile00, "", "Mitchell", "", |
41 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US", | 41 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US", |
42 "12345678910", "01987654321"); | 42 "16505678910", "78127654321"); |
43 EXPECT_TRUE(UpdateProfileLabel(&profile00)); | 43 EXPECT_TRUE(UpdateProfileLabel(&profile00)); |
44 string16 summary00 = profile00.Label(); | 44 string16 summary00 = profile00.Label(); |
45 EXPECT_EQ(ASCIIToUTF16("Hollywood, CA"), summary00); | 45 EXPECT_EQ(ASCIIToUTF16("Hollywood, CA"), summary00); |
46 | 46 |
47 // Case 1: "<address>" | 47 // Case 1: "<address>" |
48 AutofillProfile profile1; | 48 AutofillProfile profile1; |
49 autofill_test::SetProfileInfo(&profile1, "", "Mitchell", "", | 49 autofill_test::SetProfileInfo(&profile1, "", "Mitchell", "", |
50 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", | 50 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", |
51 "91601", "US", "12345678910", "01987654321"); | 51 "91601", "US", "16505678910", "78127654321"); |
52 EXPECT_TRUE(UpdateProfileLabel(&profile1)); | 52 EXPECT_TRUE(UpdateProfileLabel(&profile1)); |
53 string16 summary1 = profile1.Label(); | 53 string16 summary1 = profile1.Label(); |
54 EXPECT_EQ(ASCIIToUTF16("123 Zoo St., Hollywood"), summary1); | 54 EXPECT_EQ(ASCIIToUTF16("123 Zoo St., Hollywood"), summary1); |
55 | 55 |
56 // Case 2: "<lastname>" | 56 // Case 2: "<lastname>" |
57 AutofillProfile profile2; | 57 AutofillProfile profile2; |
58 autofill_test::SetProfileInfo(&profile2, "", "Mitchell", | 58 autofill_test::SetProfileInfo(&profile2, "", "Mitchell", |
59 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", | 59 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", |
60 "91601", "US", "12345678910", "01987654321"); | 60 "91601", "US", "16505678910", "78127654321"); |
61 EXPECT_TRUE(UpdateProfileLabel(&profile2)); | 61 EXPECT_TRUE(UpdateProfileLabel(&profile2)); |
62 string16 summary2 = profile2.Label(); | 62 string16 summary2 = profile2.Label(); |
63 // Summary does include full name which is empty if the first name is empty. | 63 // Summary does include full name which is empty if the first name is empty. |
64 EXPECT_EQ(ASCIIToUTF16("Hollywood, CA"), summary2); | 64 EXPECT_EQ(ASCIIToUTF16("Hollywood, CA"), summary2); |
65 | 65 |
66 // Case 3: "<lastname>, <address>" | 66 // Case 3: "<lastname>, <address>" |
67 AutofillProfile profile3; | 67 AutofillProfile profile3; |
68 autofill_test::SetProfileInfo(&profile3, "", "Mitchell", | 68 autofill_test::SetProfileInfo(&profile3, "", "Mitchell", |
69 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", | 69 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", |
70 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321"); | 70 "Hollywood", "CA", "91601", "US", "16505678910", "78127654321"); |
71 EXPECT_TRUE(UpdateProfileLabel(&profile3)); | 71 EXPECT_TRUE(UpdateProfileLabel(&profile3)); |
72 string16 summary3 = profile3.Label(); | 72 string16 summary3 = profile3.Label(); |
73 EXPECT_EQ(ASCIIToUTF16("123 Zoo St., Hollywood"), summary3); | 73 EXPECT_EQ(ASCIIToUTF16("123 Zoo St., Hollywood"), summary3); |
74 | 74 |
75 // Case 4: "<firstname>" | 75 // Case 4: "<firstname>" |
76 AutofillProfile profile4; | 76 AutofillProfile profile4; |
77 autofill_test::SetProfileInfo(&profile4, "Marion", "Mitchell", "", | 77 autofill_test::SetProfileInfo(&profile4, "Marion", "Mitchell", "", |
78 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US", | 78 "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", "91601", "US", |
79 "12345678910", "01987654321"); | 79 "16505678910", "01987654321"); |
80 EXPECT_TRUE(UpdateProfileLabel(&profile4)); | 80 EXPECT_TRUE(UpdateProfileLabel(&profile4)); |
81 string16 summary4 = profile4.Label(); | 81 string16 summary4 = profile4.Label(); |
82 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell, Hollywood"), summary4); | 82 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell, Hollywood"), summary4); |
83 | 83 |
84 // Case 5: "<firstname>, <address>" | 84 // Case 5: "<firstname>, <address>" |
85 AutofillProfile profile5; | 85 AutofillProfile profile5; |
86 autofill_test::SetProfileInfo(&profile5, "Marion", "Mitchell", "", | 86 autofill_test::SetProfileInfo(&profile5, "Marion", "Mitchell", "", |
87 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", | 87 "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", |
88 "91601", "US", "12345678910", "01987654321"); | 88 "91601", "US", "16505678910", "78127654321"); |
89 EXPECT_TRUE(UpdateProfileLabel(&profile5)); | 89 EXPECT_TRUE(UpdateProfileLabel(&profile5)); |
90 string16 summary5 = profile5.Label(); | 90 string16 summary5 = profile5.Label(); |
91 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell, 123 Zoo St."), summary5); | 91 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell, 123 Zoo St."), summary5); |
92 | 92 |
93 // Case 6: "<firstname> <lastname>" | 93 // Case 6: "<firstname> <lastname>" |
94 AutofillProfile profile6; | 94 AutofillProfile profile6; |
95 autofill_test::SetProfileInfo(&profile6, "Marion", "Mitchell", | 95 autofill_test::SetProfileInfo(&profile6, "Marion", "Mitchell", |
96 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", | 96 "Morrison", "johnwayne@me.xyz", "Fox", "", "unit 5", "Hollywood", "CA", |
97 "91601", "US", "12345678910", "01987654321"); | 97 "91601", "US", "16505678910", "78127654321"); |
98 EXPECT_TRUE(UpdateProfileLabel(&profile6)); | 98 EXPECT_TRUE(UpdateProfileLabel(&profile6)); |
99 string16 summary6 = profile6.Label(); | 99 string16 summary6 = profile6.Label(); |
100 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell Morrison, Hollywood"), | 100 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell Morrison, Hollywood"), |
101 summary6); | 101 summary6); |
102 | 102 |
103 // Case 7: "<firstname> <lastname>, <address>" | 103 // Case 7: "<firstname> <lastname>, <address>" |
104 AutofillProfile profile7; | 104 AutofillProfile profile7; |
105 autofill_test::SetProfileInfo(&profile7, "Marion", "Mitchell", | 105 autofill_test::SetProfileInfo(&profile7, "Marion", "Mitchell", |
106 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", | 106 "Morrison", "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", |
107 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321"); | 107 "Hollywood", "CA", "91601", "US", "16505678910", "78127654321"); |
108 EXPECT_TRUE(UpdateProfileLabel(&profile7)); | 108 EXPECT_TRUE(UpdateProfileLabel(&profile7)); |
109 string16 summary7 = profile7.Label(); | 109 string16 summary7 = profile7.Label(); |
110 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell Morrison, 123 Zoo St."), | 110 EXPECT_EQ(ASCIIToUTF16("Marion Mitchell Morrison, 123 Zoo St."), |
111 summary7); | 111 summary7); |
112 | 112 |
113 // Case 7a: "<firstname> <lastname>, <address>" - same as #7, except for | 113 // Case 7a: "<firstname> <lastname>, <address>" - same as #7, except for |
114 // e-mail. | 114 // e-mail. |
115 AutofillProfile profile7a; | 115 AutofillProfile profile7a; |
116 autofill_test::SetProfileInfo(&profile7a, "Marion", "Mitchell", | 116 autofill_test::SetProfileInfo(&profile7a, "Marion", "Mitchell", |
117 "Morrison", "marion@me.xyz", "Fox", "123 Zoo St.", "unit 5", | 117 "Morrison", "marion@me.xyz", "Fox", "123 Zoo St.", "unit 5", |
118 "Hollywood", "CA", "91601", "US", "12345678910", "01987654321"); | 118 "Hollywood", "CA", "91601", "US", "16505678910", "78127654321"); |
119 std::vector<AutofillProfile*> profiles; | 119 std::vector<AutofillProfile*> profiles; |
120 profiles.push_back(&profile7); | 120 profiles.push_back(&profile7); |
121 profiles.push_back(&profile7a); | 121 profiles.push_back(&profile7a); |
122 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); | 122 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); |
123 summary7 = profile7.Label(); | 123 summary7 = profile7.Label(); |
124 string16 summary7a = profile7a.Label(); | 124 string16 summary7a = profile7a.Label(); |
125 EXPECT_EQ(ASCIIToUTF16( | 125 EXPECT_EQ(ASCIIToUTF16( |
126 "Marion Mitchell Morrison, 123 Zoo St., johnwayne@me.xyz"), summary7); | 126 "Marion Mitchell Morrison, 123 Zoo St., johnwayne@me.xyz"), summary7); |
127 EXPECT_EQ(ASCIIToUTF16( | 127 EXPECT_EQ(ASCIIToUTF16( |
128 "Marion Mitchell Morrison, 123 Zoo St., marion@me.xyz"), summary7a); | 128 "Marion Mitchell Morrison, 123 Zoo St., marion@me.xyz"), summary7a); |
129 } | 129 } |
130 | 130 |
131 TEST(AutofillProfileTest, AdjustInferredLabels) { | 131 TEST(AutofillProfileTest, AdjustInferredLabels) { |
132 std::vector<AutofillProfile*> profiles; | 132 std::vector<AutofillProfile*> profiles; |
133 profiles.push_back(new AutofillProfile); | 133 profiles.push_back(new AutofillProfile); |
134 autofill_test::SetProfileInfo( | 134 autofill_test::SetProfileInfo( |
135 profiles[0], | 135 profiles[0], |
136 "John", | 136 "John", |
137 "", | 137 "", |
138 "Doe", | 138 "Doe", |
139 "johndoe@hades.com", | 139 "johndoe@hades.com", |
140 "Underworld", | 140 "Underworld", |
141 "666 Erebus St.", | 141 "666 Erebus St.", |
142 "", | 142 "", |
143 "Elysium", "CA", | 143 "Elysium", "CA", |
144 "91111", | 144 "91111", |
145 "US", | 145 "US", |
146 "11111111111", | 146 "16502111111", |
147 "22222222222"); | 147 "16502222222"); |
148 profiles.push_back(new AutofillProfile); | 148 profiles.push_back(new AutofillProfile); |
149 autofill_test::SetProfileInfo( | 149 autofill_test::SetProfileInfo( |
150 profiles[1], | 150 profiles[1], |
151 "Jane", | 151 "Jane", |
152 "", | 152 "", |
153 "Doe", | 153 "Doe", |
154 "janedoe@tertium.com", | 154 "janedoe@tertium.com", |
155 "Pluto Inc.", | 155 "Pluto Inc.", |
156 "123 Letha Shore.", | 156 "123 Letha Shore.", |
157 "", | 157 "", |
(...skipping 17 matching lines...) Expand all Loading... |
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 "16502111111", |
186 "22222222222"); | 186 "16502222222"); |
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(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com"), | 190 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com"), |
191 profiles[0]->Label()); | 191 profiles[0]->Label()); |
192 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), | 192 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), |
193 profiles[1]->Label()); | 193 profiles[1]->Label()); |
194 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@tertium.com"), | 194 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@tertium.com"), |
195 profiles[2]->Label()); | 195 profiles[2]->Label()); |
196 | 196 |
197 delete profiles[2]; | 197 delete profiles[2]; |
198 profiles.pop_back(); | 198 profiles.pop_back(); |
199 | 199 |
200 profiles.push_back(new AutofillProfile); | 200 profiles.push_back(new AutofillProfile); |
201 autofill_test::SetProfileInfo( | 201 autofill_test::SetProfileInfo( |
202 profiles[2], | 202 profiles[2], |
203 "John", | 203 "John", |
204 "", | 204 "", |
205 "Doe", | 205 "Doe", |
206 "johndoe@hades.com", | 206 "johndoe@hades.com", |
207 "Underworld", | 207 "Underworld", |
208 "666 Erebus St.", | 208 "666 Erebus St.", |
209 "", | 209 "", |
210 "Elysium", "CA", | 210 "Elysium", "CA", |
211 "91111", | 211 "91111", |
212 "US", | 212 "US", |
213 "11111111111", | 213 "16502111111", |
214 "33333333333"); // Fax is different | 214 "16503333333"); // Fax is different |
215 | 215 |
216 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); | 216 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); |
217 | 217 |
218 // Profile 0 and 2 inferred label now includes a fax number. | 218 // Profile 0 and 2 inferred label now includes a fax number. |
219 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., fax:#22222222222"), | 219 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., fax:#16502222222"), |
220 profiles[0]->Label()); | 220 profiles[0]->Label()); |
221 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), | 221 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), |
222 profiles[1]->Label()); | 222 profiles[1]->Label()); |
223 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., fax:#33333333333"), | 223 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., fax:#16503333333"), |
224 profiles[2]->Label()); | 224 profiles[2]->Label()); |
225 | 225 |
226 profiles.push_back(new AutofillProfile); | 226 profiles.push_back(new AutofillProfile); |
227 autofill_test::SetProfileInfo( | 227 autofill_test::SetProfileInfo( |
228 profiles[3], | 228 profiles[3], |
229 "John", | 229 "John", |
230 "", | 230 "", |
231 "Doe", | 231 "Doe", |
232 "johndoe@hades.com", | 232 "johndoe@hades.com", |
233 "Underworld", | 233 "Underworld", |
234 "666 Erebus St.", | 234 "666 Erebus St.", |
235 "", | 235 "", |
236 "Elysium", "CA", | 236 "Elysium", "CA", |
237 "91111", | 237 "91111", |
238 "US", | 238 "US", |
239 "44444444444", // Phone is different for some. | 239 "16504444444", // Phone is different for some. |
240 "33333333333"); // Fax is different for some. | 240 "16503333333"); // Fax is different for some. |
241 | 241 |
242 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); | 242 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); |
243 | 243 |
244 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111," | 244 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 16502111111," |
245 " fax:#22222222222"), | 245 " fax:#16502222222"), |
246 profiles[0]->Label()); | 246 profiles[0]->Label()); |
247 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), | 247 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), |
248 profiles[1]->Label()); | 248 profiles[1]->Label()); |
249 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111," | 249 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 16502111111," |
250 " fax:#33333333333"), | 250 " fax:#16503333333"), |
251 profiles[2]->Label()); | 251 profiles[2]->Label()); |
252 // This one differs from other ones by unique phone, so no need for extra | 252 // This one differs from other ones by unique phone, so no need for extra |
253 // information. | 253 // information. |
254 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 44444444444"), | 254 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., 16504444444"), |
255 profiles[3]->Label()); | 255 profiles[3]->Label()); |
256 | 256 |
257 profiles.push_back(new AutofillProfile); | 257 profiles.push_back(new AutofillProfile); |
258 autofill_test::SetProfileInfo( | 258 autofill_test::SetProfileInfo( |
259 profiles[4], | 259 profiles[4], |
260 "John", | 260 "John", |
261 "", | 261 "", |
262 "Doe", | 262 "Doe", |
263 "johndoe@styx.com", // E-Mail is different for some. | 263 "johndoe@styx.com", // E-Mail is different for some. |
264 "Underworld", | 264 "Underworld", |
265 "666 Erebus St.", | 265 "666 Erebus St.", |
266 "", | 266 "", |
267 "Elysium", "CA", | 267 "Elysium", "CA", |
268 "91111", | 268 "91111", |
269 "US", | 269 "US", |
270 "44444444444", // Phone is different for some. | 270 "16504444444", // Phone is different for some. |
271 "33333333333"); // Fax is different for some. | 271 "16503333333"); // Fax is different for some. |
272 | 272 |
273 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); | 273 EXPECT_TRUE(AutofillProfile::AdjustInferredLabels(&profiles)); |
274 | 274 |
275 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com," | 275 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com," |
276 " 11111111111, fax:#22222222222"), | 276 " 16502111111, fax:#16502222222"), |
277 profiles[0]->Label()); | 277 profiles[0]->Label()); |
278 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), | 278 EXPECT_EQ(ASCIIToUTF16("Jane Doe, 123 Letha Shore."), |
279 profiles[1]->Label()); | 279 profiles[1]->Label()); |
280 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com," | 280 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com," |
281 " 11111111111, fax:#33333333333"), | 281 " 16502111111, fax:#16503333333"), |
282 profiles[2]->Label()); | 282 profiles[2]->Label()); |
283 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com," | 283 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com," |
284 " 44444444444, fax:#33333333333"), | 284 " 16504444444, fax:#16503333333"), |
285 profiles[3]->Label()); | 285 profiles[3]->Label()); |
286 // This one differs from other ones by unique e-mail, so no need for extra | 286 // This one differs from other ones by unique e-mail, so no need for extra |
287 // information. | 287 // information. |
288 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@styx.com"), | 288 EXPECT_EQ(ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@styx.com"), |
289 profiles[4]->Label()); | 289 profiles[4]->Label()); |
290 | 290 |
291 EXPECT_FALSE(AutofillProfile::AdjustInferredLabels(&profiles)); | 291 EXPECT_FALSE(AutofillProfile::AdjustInferredLabels(&profiles)); |
292 | 292 |
293 // Clean up. | 293 // Clean up. |
294 STLDeleteContainerPointers(profiles.begin(), profiles.end()); | 294 STLDeleteContainerPointers(profiles.begin(), profiles.end()); |
295 } | 295 } |
296 | 296 |
297 TEST(AutofillProfileTest, CreateInferredLabels) { | 297 TEST(AutofillProfileTest, CreateInferredLabels) { |
298 std::vector<AutofillProfile*> profiles; | 298 std::vector<AutofillProfile*> profiles; |
299 profiles.push_back(new AutofillProfile); | 299 profiles.push_back(new AutofillProfile); |
300 autofill_test::SetProfileInfo(profiles[0], | 300 autofill_test::SetProfileInfo(profiles[0], |
301 "John", | 301 "John", |
302 "", | 302 "", |
303 "Doe", | 303 "Doe", |
304 "johndoe@hades.com", | 304 "johndoe@hades.com", |
305 "Underworld", | 305 "Underworld", |
306 "666 Erebus St.", | 306 "666 Erebus St.", |
307 "", | 307 "", |
308 "Elysium", "CA", | 308 "Elysium", "CA", |
309 "91111", | 309 "91111", |
310 "US", | 310 "US", |
311 "11111111111", | 311 "16502111111", |
312 "22222222222"); | 312 "16502222222"); |
313 profiles.push_back(new AutofillProfile); | 313 profiles.push_back(new AutofillProfile); |
314 autofill_test::SetProfileInfo(profiles[1], | 314 autofill_test::SetProfileInfo(profiles[1], |
315 "Jane", | 315 "Jane", |
316 "", | 316 "", |
317 "Doe", | 317 "Doe", |
318 "janedoe@tertium.com", | 318 "janedoe@tertium.com", |
319 "Pluto Inc.", | 319 "Pluto Inc.", |
320 "123 Letha Shore.", | 320 "123 Letha Shore.", |
321 "", | 321 "", |
322 "Dis", "CA", | 322 "Dis", "CA", |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
747 std::vector<string16> get_values; | 747 std::vector<string16> get_values; |
748 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); | 748 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); |
749 ASSERT_EQ(2UL, get_values.size()); | 749 ASSERT_EQ(2UL, get_values.size()); |
750 EXPECT_EQ(kJohnDoe, get_values[0]); | 750 EXPECT_EQ(kJohnDoe, get_values[0]); |
751 EXPECT_EQ(kJohnPDoe, get_values[1]); | 751 EXPECT_EQ(kJohnPDoe, get_values[1]); |
752 | 752 |
753 // Update the values. | 753 // Update the values. |
754 AutofillProfile p2 = p; | 754 AutofillProfile p2 = p; |
755 EXPECT_EQ(0, p.Compare(p2)); | 755 EXPECT_EQ(0, p.Compare(p2)); |
756 EXPECT_EQ(0, p.CompareMulti(p2)); | 756 EXPECT_EQ(0, p.CompareMulti(p2)); |
757 const string16 kNoOne(ASCIIToUTF16("4151110000")); | 757 const string16 kNoOne(ASCIIToUTF16("4152110000")); |
758 set_values[1] = kNoOne; | 758 set_values[1] = kNoOne; |
759 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); | 759 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); |
760 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); | 760 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); |
761 ASSERT_EQ(2UL, get_values.size()); | 761 ASSERT_EQ(2UL, get_values.size()); |
762 EXPECT_EQ(kJohnDoe, get_values[0]); | 762 EXPECT_EQ(kJohnDoe, get_values[0]); |
763 EXPECT_EQ(kNoOne, get_values[1]); | 763 EXPECT_EQ(kNoOne, get_values[1]); |
764 EXPECT_EQ(0, p.Compare(p2)); | 764 EXPECT_EQ(0, p.Compare(p2)); |
765 EXPECT_NE(0, p.CompareMulti(p2)); | 765 EXPECT_NE(0, p.CompareMulti(p2)); |
766 | 766 |
767 // Delete values. | 767 // Delete values. |
768 set_values.clear(); | 768 set_values.clear(); |
769 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); | 769 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); |
770 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); | 770 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); |
771 ASSERT_EQ(1UL, get_values.size()); | 771 ASSERT_EQ(1UL, get_values.size()); |
772 EXPECT_EQ(string16(), get_values[0]); | 772 EXPECT_EQ(string16(), get_values[0]); |
773 | 773 |
774 // Expect regular |GetInfo| returns empty value. | 774 // Expect regular |GetInfo| returns empty value. |
775 EXPECT_EQ(string16(), p.GetInfo(PHONE_HOME_WHOLE_NUMBER)); | 775 EXPECT_EQ(string16(), p.GetInfo(PHONE_HOME_WHOLE_NUMBER)); |
776 } | 776 } |
777 | 777 |
778 TEST(AutofillProfileTest, MultiValueFax) { | 778 TEST(AutofillProfileTest, MultiValueFax) { |
779 AutofillProfile p; | 779 AutofillProfile p; |
780 const string16 kJohnDoe(ASCIIToUTF16("4151112222")); | 780 const string16 kJohnDoe(ASCIIToUTF16("4152112222")); |
781 const string16 kJohnPDoe(ASCIIToUTF16("4151113333")); | 781 const string16 kJohnPDoe(ASCIIToUTF16("4153113333")); |
782 std::vector<string16> set_values; | 782 std::vector<string16> set_values; |
783 set_values.push_back(kJohnDoe); | 783 set_values.push_back(kJohnDoe); |
784 set_values.push_back(kJohnPDoe); | 784 set_values.push_back(kJohnPDoe); |
785 p.SetMultiInfo(PHONE_FAX_WHOLE_NUMBER, set_values); | 785 p.SetMultiInfo(PHONE_FAX_WHOLE_NUMBER, set_values); |
786 | 786 |
787 // Expect regular |GetInfo| returns the first element. | 787 // Expect regular |GetInfo| returns the first element. |
788 EXPECT_EQ(kJohnDoe, p.GetInfo(PHONE_FAX_WHOLE_NUMBER)); | 788 EXPECT_EQ(kJohnDoe, p.GetInfo(PHONE_FAX_WHOLE_NUMBER)); |
789 | 789 |
790 // Ensure that we get out what we put in. | 790 // Ensure that we get out what we put in. |
791 std::vector<string16> get_values; | 791 std::vector<string16> get_values; |
(...skipping 19 matching lines...) Expand all Loading... |
811 // Delete values. | 811 // Delete values. |
812 set_values.clear(); | 812 set_values.clear(); |
813 p.SetMultiInfo(PHONE_FAX_WHOLE_NUMBER, set_values); | 813 p.SetMultiInfo(PHONE_FAX_WHOLE_NUMBER, set_values); |
814 p.GetMultiInfo(PHONE_FAX_WHOLE_NUMBER, &get_values); | 814 p.GetMultiInfo(PHONE_FAX_WHOLE_NUMBER, &get_values); |
815 ASSERT_EQ(1UL, get_values.size()); | 815 ASSERT_EQ(1UL, get_values.size()); |
816 EXPECT_EQ(string16(), get_values[0]); | 816 EXPECT_EQ(string16(), get_values[0]); |
817 | 817 |
818 // Expect regular |GetInfo| returns empty value. | 818 // Expect regular |GetInfo| returns empty value. |
819 EXPECT_EQ(string16(), p.GetInfo(PHONE_FAX_WHOLE_NUMBER)); | 819 EXPECT_EQ(string16(), p.GetInfo(PHONE_FAX_WHOLE_NUMBER)); |
820 } | 820 } |
OLD | NEW |