Chromium Code Reviews| 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 "components/autofill/core/browser/autofill_profile.h" | 5 #include "components/autofill/core/browser/autofill_profile.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 1176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1187 | 1187 |
| 1188 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); | 1188 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); |
| 1189 | 1189 |
| 1190 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); | 1190 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); |
| 1191 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); | 1191 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); |
| 1192 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); | 1192 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); |
| 1193 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), | 1193 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), |
| 1194 a.GetRawInfo(NAME_FULL)); | 1194 a.GetRawInfo(NAME_FULL)); |
| 1195 } | 1195 } |
| 1196 | 1196 |
| 1197 // TODO(crbug.com/608074): No loss of information for names should happen when | 1197 // Tests the merging of two similar profiles results in the second profile's |
| 1198 // using SaveAddtitionalInfo. | 1198 // non-empty fields overwriting the initial profiles values. |
| 1199 // Tests the merging of two similar profiles results the second profile's non- | |
| 1200 // empty fields overwriting the initial profiles values. | |
| 1201 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_DifferentCaseNoNameFull) { | 1199 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_DifferentCaseNoNameFull) { |
|
Mathieu
2016/05/13 13:32:51
Do we have cases where one of the middle names is
sebsg
2016/05/13 17:20:01
Yes, in PersonalDataManagerTest.SaveImportedProfil
| |
| 1202 AutofillProfile a; | 1200 AutofillProfile a; |
| 1203 | 1201 |
| 1204 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("marion")); | 1202 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("marion")); |
| 1205 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("mitchell")); | 1203 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("mitchell")); |
| 1206 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("morrison")); | 1204 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("morrison")); |
| 1207 a.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("Marion Mitchell Morrison")); | 1205 a.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("marion mitchell morrison")); |
| 1208 | 1206 |
| 1209 AutofillProfile b = a; | 1207 AutofillProfile b = a; |
| 1210 b.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); | 1208 b.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); |
| 1211 b.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); | 1209 b.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); |
| 1212 b.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); | 1210 b.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); |
| 1213 b.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("")); | 1211 b.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("")); |
| 1214 | 1212 |
| 1215 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); | 1213 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); |
| 1216 | 1214 |
| 1217 // The first, middle and last names should have their first letter in | 1215 // The first, middle and last names should have their first letter in |
| 1218 // uppercase. | 1216 // uppercase. |
| 1219 EXPECT_EQ(base::ASCIIToUTF16("marion"), a.GetRawInfo(NAME_FIRST)); | 1217 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); |
| 1220 EXPECT_EQ(base::ASCIIToUTF16("mitchell"), a.GetRawInfo(NAME_MIDDLE)); | 1218 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); |
| 1221 EXPECT_EQ(base::ASCIIToUTF16("morrison"), a.GetRawInfo(NAME_LAST)); | 1219 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); |
| 1222 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), | 1220 EXPECT_EQ(base::ASCIIToUTF16("marion mitchell morrison"), |
| 1223 a.GetRawInfo(NAME_FULL)); | 1221 a.GetRawInfo(NAME_FULL)); |
| 1224 } | 1222 } |
| 1225 | 1223 |
| 1226 // TODO(crbug.com/608074): No loss of information for names should happen when | |
| 1227 // using SaveAddtitionalInfo. | |
| 1228 // Tests that no loss of information happens when SavingAdditionalInfo with a | 1224 // Tests that no loss of information happens when SavingAdditionalInfo with a |
| 1229 // profile with an empty name part. | 1225 // profile with an empty name part. |
| 1230 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_LossOfInformation) { | 1226 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_LossOfInformation) { |
| 1231 AutofillProfile a; | 1227 AutofillProfile a; |
| 1232 | 1228 |
| 1233 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); | 1229 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); |
| 1234 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); | 1230 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); |
| 1235 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); | 1231 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); |
| 1236 | 1232 |
| 1237 AutofillProfile b = a; | 1233 AutofillProfile b = a; |
| 1238 b.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("")); | 1234 b.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("")); |
| 1239 | 1235 |
| 1240 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); | 1236 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); |
| 1241 | 1237 |
| 1242 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); | 1238 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); |
| 1243 // This should not be empty. | 1239 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); |
| 1244 EXPECT_EQ(base::ASCIIToUTF16(""), a.GetRawInfo(NAME_MIDDLE)); | |
| 1245 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); | 1240 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); |
| 1246 EXPECT_EQ(base::ASCIIToUTF16(""), a.GetRawInfo(NAME_FULL)); | |
| 1247 } | 1241 } |
| 1248 | 1242 |
| 1249 // TODO(crbug.com/608074): No loss of information for names should happen when | |
| 1250 // using SaveAddtitionalInfo. | |
| 1251 // Tests that merging two complementary profiles for names results in a profile | 1243 // Tests that merging two complementary profiles for names results in a profile |
| 1252 // with a complete name. | 1244 // with a complete name. |
| 1253 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_ComplementaryInformation) { | 1245 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_ComplementaryInformation) { |
| 1254 AutofillProfile a; | 1246 AutofillProfile a; |
| 1255 | 1247 |
| 1256 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); | 1248 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); |
| 1257 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); | 1249 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); |
| 1258 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); | 1250 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); |
| 1259 | 1251 |
| 1260 AutofillProfile b; | 1252 AutofillProfile b; |
| 1261 b.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("Marion Mitchell Morrison")); | 1253 b.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("Marion Mitchell Morrison")); |
| 1262 | 1254 |
| 1263 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); | 1255 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); |
| 1264 | 1256 |
| 1265 // The first, middle and last names should be kept. | 1257 // The first, middle and last names should be kept and name full should be |
| 1266 EXPECT_EQ(base::ASCIIToUTF16(""), a.GetRawInfo(NAME_FIRST)); | 1258 // added. |
| 1267 EXPECT_EQ(base::ASCIIToUTF16(""), a.GetRawInfo(NAME_MIDDLE)); | 1259 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); |
| 1268 EXPECT_EQ(base::ASCIIToUTF16(""), a.GetRawInfo(NAME_LAST)); | 1260 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); |
| 1261 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); | |
| 1269 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), | 1262 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), |
| 1270 a.GetRawInfo(NAME_FULL)); | 1263 a.GetRawInfo(NAME_FULL)); |
| 1271 } | 1264 } |
| 1272 | 1265 |
| 1273 } // namespace autofill | 1266 } // namespace autofill |
| OLD | NEW |