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 1135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1146 | 1146 |
| 1147 // Unicode punctuation (hyphen and space), multiple spaces collapsed. | 1147 // Unicode punctuation (hyphen and space), multiple spaces collapsed. |
| 1148 EXPECT_EQ(ASCIIToUTF16("mid island plaza"), | 1148 EXPECT_EQ(ASCIIToUTF16("mid island plaza"), |
| 1149 AutofillProfile::CanonicalizeProfileString(base::WideToUTF16( | 1149 AutofillProfile::CanonicalizeProfileString(base::WideToUTF16( |
| 1150 L"Mid\x2013Island\x2003 Plaza"))); | 1150 L"Mid\x2013Island\x2003 Plaza"))); |
| 1151 | 1151 |
| 1152 // Newline character removed. | 1152 // Newline character removed. |
| 1153 EXPECT_EQ(ASCIIToUTF16("1600 amphitheatre pkwy app 2"), | 1153 EXPECT_EQ(ASCIIToUTF16("1600 amphitheatre pkwy app 2"), |
| 1154 AutofillProfile::CanonicalizeProfileString( | 1154 AutofillProfile::CanonicalizeProfileString( |
| 1155 ASCIIToUTF16("1600 amphitheatre pkwy \n App. 2"))); | 1155 ASCIIToUTF16("1600 amphitheatre pkwy \n App. 2"))); |
| 1156 | |
| 1157 // Diacritics removed. | |
| 1158 EXPECT_EQ(UTF8ToUTF16("まeoa정"), | |
| 1159 AutofillProfile::CanonicalizeProfileString(UTF8ToUTF16("まéÖä정"))); | |
| 1156 } | 1160 } |
| 1157 | 1161 |
| 1158 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_AddingNameFull) { | 1162 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_AddingNameFull) { |
| 1159 AutofillProfile a; | 1163 AutofillProfile a; |
| 1160 | 1164 |
| 1161 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); | 1165 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); |
| 1162 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); | 1166 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); |
| 1163 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); | 1167 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); |
| 1164 | 1168 |
| 1165 AutofillProfile b = a; | 1169 AutofillProfile b = a; |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 1189 | 1193 |
| 1190 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); | 1194 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); |
| 1191 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); | 1195 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); |
| 1192 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); | 1196 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); |
| 1193 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), | 1197 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), |
| 1194 a.GetRawInfo(NAME_FULL)); | 1198 a.GetRawInfo(NAME_FULL)); |
| 1195 } | 1199 } |
| 1196 | 1200 |
| 1197 // Tests the merging of two similar profiles results in the second profile's | 1201 // Tests the merging of two similar profiles results in the second profile's |
| 1198 // non-empty fields overwriting the initial profiles values. | 1202 // non-empty fields overwriting the initial profiles values. |
| 1199 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_DifferentCaseNoNameFull) { | 1203 TEST(AutofillProfileTest, |
| 1204 SaveAdditionalInfo_Name_DifferentCaseAndDiacriticsNoNameFull) { | |
| 1200 AutofillProfile a; | 1205 AutofillProfile a; |
| 1201 | 1206 |
| 1202 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("marion")); | 1207 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("marion")); |
| 1203 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("mitchell")); | 1208 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("mitchell")); |
| 1204 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("morrison")); | 1209 a.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("morrison")); |
| 1205 a.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("marion mitchell morrison")); | 1210 a.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("marion mitchell morrison")); |
| 1206 | 1211 |
| 1207 AutofillProfile b = a; | 1212 AutofillProfile b = a; |
| 1208 b.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); | 1213 b.SetRawInfo(NAME_FIRST, UTF8ToUTF16("Märion")); |
| 1209 b.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); | 1214 b.SetRawInfo(NAME_MIDDLE, UTF8ToUTF16("Mitchéll")); |
| 1210 b.SetRawInfo(NAME_LAST, base::ASCIIToUTF16("Morrison")); | 1215 b.SetRawInfo(NAME_LAST,UTF8ToUTF16("Morrison")); |
| 1211 b.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("")); | 1216 b.SetRawInfo(NAME_FULL, UTF8ToUTF16("")); |
| 1212 | 1217 |
| 1213 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); | 1218 EXPECT_TRUE(a.SaveAdditionalInfo(b, "en-US")); |
| 1214 | 1219 |
| 1215 // The first, middle and last names should have their first letter in | 1220 // The first, middle and last names should have their first letter in |
| 1216 // uppercase. | 1221 // uppercase. |
|
sebsg
2016/05/27 16:59:14
nit: ... in uppercase and have diacritics.
Roger McFarlane (Chromium)
2016/05/27 20:20:43
Done.
| |
| 1217 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); | 1222 EXPECT_EQ(UTF8ToUTF16("Märion"), a.GetRawInfo(NAME_FIRST)); |
| 1218 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); | 1223 EXPECT_EQ(UTF8ToUTF16("Mitchéll"), a.GetRawInfo(NAME_MIDDLE)); |
| 1219 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); | 1224 EXPECT_EQ(UTF8ToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); |
| 1220 EXPECT_EQ(base::ASCIIToUTF16("marion mitchell morrison"), | 1225 EXPECT_EQ(UTF8ToUTF16("marion mitchell morrison"), |
| 1221 a.GetRawInfo(NAME_FULL)); | 1226 a.GetRawInfo(NAME_FULL)); |
| 1222 } | 1227 } |
| 1223 | 1228 |
| 1224 // Tests that no loss of information happens when SavingAdditionalInfo with a | 1229 // Tests that no loss of information happens when SavingAdditionalInfo with a |
| 1225 // profile with an empty name part. | 1230 // profile with an empty name part. |
| 1226 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_LossOfInformation) { | 1231 TEST(AutofillProfileTest, SaveAdditionalInfo_Name_LossOfInformation) { |
| 1227 AutofillProfile a; | 1232 AutofillProfile a; |
| 1228 | 1233 |
| 1229 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); | 1234 a.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Marion")); |
| 1230 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); | 1235 a.SetRawInfo(NAME_MIDDLE, base::ASCIIToUTF16("Mitchell")); |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 1257 // The first, middle and last names should be kept and name full should be | 1262 // The first, middle and last names should be kept and name full should be |
| 1258 // added. | 1263 // added. |
| 1259 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); | 1264 EXPECT_EQ(base::ASCIIToUTF16("Marion"), a.GetRawInfo(NAME_FIRST)); |
| 1260 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); | 1265 EXPECT_EQ(base::ASCIIToUTF16("Mitchell"), a.GetRawInfo(NAME_MIDDLE)); |
| 1261 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); | 1266 EXPECT_EQ(base::ASCIIToUTF16("Morrison"), a.GetRawInfo(NAME_LAST)); |
| 1262 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), | 1267 EXPECT_EQ(base::ASCIIToUTF16("Marion Mitchell Morrison"), |
| 1263 a.GetRawInfo(NAME_FULL)); | 1268 a.GetRawInfo(NAME_FULL)); |
| 1264 } | 1269 } |
| 1265 | 1270 |
| 1266 } // namespace autofill | 1271 } // namespace autofill |
| OLD | NEW |