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

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

Issue 347183005: autofill names - dont parse when calling SetRawInfo(FULL_NAME) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android test expectation Created 6 years, 5 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 | Annotate | Revision Log
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 "components/autofill/core/browser/contact_info.h" 5 #include "components/autofill/core/browser/contact_info.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/format_macros.h" 8 #include "base/format_macros.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 EXPECT_EQ(ASCIIToUTF16(test_case.full_name_input), 62 EXPECT_EQ(ASCIIToUTF16(test_case.full_name_input),
63 name.GetInfo(AutofillType(NAME_FULL), "en-US")); 63 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
64 } 64 }
65 } 65 }
66 66
67 TEST(NameInfoTest, GetFullName) { 67 TEST(NameInfoTest, GetFullName) {
68 NameInfo name; 68 NameInfo name;
69 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 69 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First"));
70 name.SetRawInfo(NAME_MIDDLE, base::string16()); 70 name.SetRawInfo(NAME_MIDDLE, base::string16());
71 name.SetRawInfo(NAME_LAST, base::string16()); 71 name.SetRawInfo(NAME_LAST, base::string16());
72 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 72 EXPECT_EQ(ASCIIToUTF16("First"), name.GetRawInfo(NAME_FIRST));
73 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 73 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_MIDDLE));
74 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 74 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_LAST));
75 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First")); 75 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
76 EXPECT_EQ(ASCIIToUTF16("First"),
77 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
76 78
77 name.SetRawInfo(NAME_FIRST, base::string16()); 79 name.SetRawInfo(NAME_FIRST, base::string16());
78 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 80 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle"));
79 name.SetRawInfo(NAME_LAST, base::string16()); 81 name.SetRawInfo(NAME_LAST, base::string16());
80 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), base::string16()); 82 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FIRST));
81 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 83 EXPECT_EQ(ASCIIToUTF16("Middle"), name.GetRawInfo(NAME_MIDDLE));
82 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 84 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_LAST));
83 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Middle")); 85 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
86 EXPECT_EQ(ASCIIToUTF16("Middle"),
87 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
84 88
85 name.SetRawInfo(NAME_FIRST, base::string16()); 89 name.SetRawInfo(NAME_FIRST, base::string16());
86 name.SetRawInfo(NAME_MIDDLE, base::string16()); 90 name.SetRawInfo(NAME_MIDDLE, base::string16());
87 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 91 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last"));
88 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), base::string16()); 92 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FIRST));
89 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 93 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_MIDDLE));
90 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 94 EXPECT_EQ(ASCIIToUTF16("Last"), name.GetRawInfo(NAME_LAST));
91 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Last")); 95 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
96 EXPECT_EQ(ASCIIToUTF16("Last"),
97 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
92 98
93 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 99 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First"));
94 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 100 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle"));
95 name.SetRawInfo(NAME_LAST, base::string16()); 101 name.SetRawInfo(NAME_LAST, base::string16());
96 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 102 EXPECT_EQ(ASCIIToUTF16("First"), name.GetRawInfo(NAME_FIRST));
97 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 103 EXPECT_EQ(ASCIIToUTF16("Middle"), name.GetRawInfo(NAME_MIDDLE));
98 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 104 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_LAST));
99 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle")); 105 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
106 EXPECT_EQ(ASCIIToUTF16("First Middle"),
107 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
100 108
101 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 109 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First"));
102 name.SetRawInfo(NAME_MIDDLE, base::string16()); 110 name.SetRawInfo(NAME_MIDDLE, base::string16());
103 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 111 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last"));
104 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 112 EXPECT_EQ(ASCIIToUTF16("First"), name.GetRawInfo(NAME_FIRST));
105 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 113 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_MIDDLE));
106 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 114 EXPECT_EQ(ASCIIToUTF16("Last"), name.GetRawInfo(NAME_LAST));
107 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Last")); 115 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
116 EXPECT_EQ(ASCIIToUTF16("First Last"),
117 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
108 118
109 name.SetRawInfo(NAME_FIRST, base::string16()); 119 name.SetRawInfo(NAME_FIRST, base::string16());
110 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 120 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle"));
111 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 121 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last"));
112 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), base::string16()); 122 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FIRST));
113 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 123 EXPECT_EQ(ASCIIToUTF16("Middle"), name.GetRawInfo(NAME_MIDDLE));
114 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 124 EXPECT_EQ(ASCIIToUTF16("Last"), name.GetRawInfo(NAME_LAST));
115 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Middle Last")); 125 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
126 EXPECT_EQ(ASCIIToUTF16("Middle Last"),
127 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
116 128
117 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 129 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First"));
118 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 130 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle"));
119 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 131 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last"));
120 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 132 EXPECT_EQ(ASCIIToUTF16("First"), name.GetRawInfo(NAME_FIRST));
121 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 133 EXPECT_EQ(ASCIIToUTF16("Middle"), name.GetRawInfo(NAME_MIDDLE));
122 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 134 EXPECT_EQ(ASCIIToUTF16("Last"), name.GetRawInfo(NAME_LAST));
123 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last")); 135 EXPECT_EQ(base::string16(), name.GetRawInfo(NAME_FULL));
136 EXPECT_EQ(ASCIIToUTF16("First Middle Last"),
137 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
124 138
125 name.SetRawInfo(NAME_FULL, ASCIIToUTF16("First Middle Last, MD")); 139 name.SetRawInfo(NAME_FULL, ASCIIToUTF16("First Middle Last, MD"));
126 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 140 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First"));
127 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 141 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
128 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 142 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
129 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD")); 143 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD"));
144 EXPECT_EQ(ASCIIToUTF16("First Middle Last, MD"),
145 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
130 146
131 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 147 // Setting a name to the value it already has: no change.
148 name.SetInfo(AutofillType(NAME_FIRST), ASCIIToUTF16("First"), "en-US");
132 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 149 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First"));
133 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 150 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
134 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 151 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
135 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD")); 152 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD"));
153 EXPECT_EQ(ASCIIToUTF16("First Middle Last, MD"),
154 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
136 155
137 // Changing something (e.g., the first name) clears the stored full name. 156 // Setting raw info: no change. (Even though this leads to a slightly
157 // inconsitent state.)
138 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Second")); 158 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Second"));
139 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Second")); 159 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Second"));
140 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 160 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
141 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 161 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
142 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Second Middle Last")); 162 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last, MD"));
163 EXPECT_EQ(ASCIIToUTF16("First Middle Last, MD"),
164 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
165
166 // Changing something (e.g., the first name) clears the stored full name.
167 name.SetInfo(AutofillType(NAME_FIRST), ASCIIToUTF16("Third"), "en-US");
168 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Third"));
169 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle"));
170 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last"));
171 EXPECT_EQ(ASCIIToUTF16("Third Middle Last"),
172 name.GetInfo(AutofillType(NAME_FULL), "en-US"));
143 } 173 }
144 174
145 TEST(NameInfoTest, EqualsIgnoreCase) { 175 TEST(NameInfoTest, ParsedNamesAreEqual) {
146 struct TestCase { 176 struct TestCase {
147 std::string starting_names[3]; 177 std::string starting_names[3];
148 std::string additional_names[3]; 178 std::string additional_names[3];
149 bool expected_result; 179 bool expected_result;
150 }; 180 };
151 181
152 struct TestCase test_cases[] = { 182 struct TestCase test_cases[] = {
153 // Identical name comparison. 183 // Identical name comparison.
154 {{"Marion", "Mitchell", "Morrison"}, 184 {{"Marion", "Mitchell", "Morrison"},
155 {"Marion", "Mitchell", "Morrison"}, 185 {"Marion", "Mitchell", "Morrison"},
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 NameInfo additional_profile; 234 NameInfo additional_profile;
205 additional_profile.SetRawInfo( 235 additional_profile.SetRawInfo(
206 NAME_FIRST, ASCIIToUTF16(test_cases[i].additional_names[0])); 236 NAME_FIRST, ASCIIToUTF16(test_cases[i].additional_names[0]));
207 additional_profile.SetRawInfo( 237 additional_profile.SetRawInfo(
208 NAME_MIDDLE, ASCIIToUTF16(test_cases[i].additional_names[1])); 238 NAME_MIDDLE, ASCIIToUTF16(test_cases[i].additional_names[1]));
209 additional_profile.SetRawInfo( 239 additional_profile.SetRawInfo(
210 NAME_LAST, ASCIIToUTF16(test_cases[i].additional_names[2])); 240 NAME_LAST, ASCIIToUTF16(test_cases[i].additional_names[2]));
211 241
212 // Verify the test expectations. 242 // Verify the test expectations.
213 EXPECT_EQ(test_cases[i].expected_result, 243 EXPECT_EQ(test_cases[i].expected_result,
214 starting_profile.EqualsIgnoreCase(additional_profile)); 244 starting_profile.ParsedNamesAreEqual(additional_profile));
215 } 245 }
216 } 246 }
217 247
218 } // namespace autofill 248 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/contact_info.cc ('k') | components/autofill/core/browser/personal_data_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698