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

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

Issue 7576001: Refactor webkit_glue::FormField to remove hacky methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix copyright header Created 9 years, 4 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 (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/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/memory/scoped_vector.h" 6 #include "base/memory/scoped_vector.h"
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/autofill/autofill_field.h" 8 #include "chrome/browser/autofill/autofill_field.h"
9 #include "chrome/browser/autofill/autofill_scanner.h" 9 #include "chrome/browser/autofill/autofill_scanner.h"
10 #include "chrome/browser/autofill/name_field.h" 10 #include "chrome/browser/autofill/name_field.h"
(...skipping 12 matching lines...) Expand all
23 // Downcast for tests. 23 // Downcast for tests.
24 static NameField* Parse(AutofillScanner* scanner) { 24 static NameField* Parse(AutofillScanner* scanner) {
25 return static_cast<NameField*>(NameField::Parse(scanner)); 25 return static_cast<NameField*>(NameField::Parse(scanner));
26 } 26 }
27 27
28 private: 28 private:
29 DISALLOW_COPY_AND_ASSIGN(NameFieldTest); 29 DISALLOW_COPY_AND_ASSIGN(NameFieldTest);
30 }; 30 };
31 31
32 TEST_F(NameFieldTest, FirstMiddleLast) { 32 TEST_F(NameFieldTest, FirstMiddleLast) {
33 list_.push_back( 33 webkit_glue::FormField field;
34 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"), 34 field.form_control_type = ASCIIToUTF16("text");
35 ASCIIToUTF16("First"), 35
36 string16(), 36 field.label = ASCIIToUTF16("First Name");
37 ASCIIToUTF16("text"), 37 field.name = ASCIIToUTF16("First");
38 0, 38 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
39 false), 39
40 ASCIIToUTF16("name1"))); 40 field.label = ASCIIToUTF16("Middle Name");
41 list_.push_back( 41 field.name = ASCIIToUTF16("Middle");
42 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Middle Name"), 42 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
43 ASCIIToUTF16("Middle"), 43
44 string16(), 44 field.label = ASCIIToUTF16("Last Name");
45 ASCIIToUTF16("text"), 45 field.name = ASCIIToUTF16("Last");
46 0, 46 list_.push_back(new AutofillField(field, ASCIIToUTF16("name3")));
47 false), 47
48 ASCIIToUTF16("name2")));
49 list_.push_back(
50 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
51 ASCIIToUTF16("Last"),
52 string16(),
53 ASCIIToUTF16("text"),
54 0,
55 false),
56 ASCIIToUTF16("name3")));
57 AutofillScanner scanner(list_.get()); 48 AutofillScanner scanner(list_.get());
58 field_.reset(Parse(&scanner)); 49 field_.reset(Parse(&scanner));
59 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 50 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
60 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 51 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
61 ASSERT_TRUE( 52 ASSERT_TRUE(
62 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 53 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
63 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 54 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
64 ASSERT_TRUE( 55 ASSERT_TRUE(
65 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 56 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
66 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]); 57 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
67 ASSERT_TRUE( 58 ASSERT_TRUE(
68 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 59 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
69 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 60 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
70 } 61 }
71 62
72 TEST_F(NameFieldTest, FirstMiddleLast2) { 63 TEST_F(NameFieldTest, FirstMiddleLast2) {
73 list_.push_back( 64 webkit_glue::FormField field;
74 new AutofillField(webkit_glue::FormField(string16(), 65 field.form_control_type = ASCIIToUTF16("text");
75 ASCIIToUTF16("firstName"), 66
76 string16(), 67 field.label = string16();
77 ASCIIToUTF16("text"), 68 field.name = ASCIIToUTF16("firstName");
78 0, 69 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
79 false), 70
80 ASCIIToUTF16("name1"))); 71 field.label = string16();
81 list_.push_back( 72 field.name = ASCIIToUTF16("middleName");
82 new AutofillField(webkit_glue::FormField(string16(), 73 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
83 ASCIIToUTF16("middleName"), 74
84 string16(), 75 field.label = string16();
85 ASCIIToUTF16("text"), 76 field.name = ASCIIToUTF16("lastName");
86 0, 77 list_.push_back(new AutofillField(field, ASCIIToUTF16("name3")));
87 false), 78
88 ASCIIToUTF16("name2")));
89 list_.push_back(
90 new AutofillField(webkit_glue::FormField(string16(),
91 ASCIIToUTF16("lastName"),
92 string16(),
93 ASCIIToUTF16("text"),
94 0,
95 false),
96 ASCIIToUTF16("name3")));
97 AutofillScanner scanner(list_.get()); 79 AutofillScanner scanner(list_.get());
98 field_.reset(Parse(&scanner)); 80 field_.reset(Parse(&scanner));
99 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 81 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
100 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 82 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
101 ASSERT_TRUE( 83 ASSERT_TRUE(
102 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 84 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
103 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 85 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
104 ASSERT_TRUE( 86 ASSERT_TRUE(
105 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 87 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
106 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]); 88 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
107 ASSERT_TRUE( 89 ASSERT_TRUE(
108 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 90 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
109 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 91 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
110 } 92 }
111 93
112 TEST_F(NameFieldTest, FirstLast) { 94 TEST_F(NameFieldTest, FirstLast) {
113 list_.push_back( 95 webkit_glue::FormField field;
114 new AutofillField(webkit_glue::FormField(string16(), 96 field.form_control_type = ASCIIToUTF16("text");
115 ASCIIToUTF16("first_name"), 97
116 string16(), 98 field.label = string16();
117 ASCIIToUTF16("text"), 99 field.name = ASCIIToUTF16("first_name");
118 0, 100 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
119 false), 101
120 ASCIIToUTF16("name1"))); 102 field.label = string16();
121 list_.push_back( 103 field.name = ASCIIToUTF16("last_name");
122 new AutofillField(webkit_glue::FormField(string16(), 104 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
123 ASCIIToUTF16("last_name"), 105
124 string16(),
125 ASCIIToUTF16("text"),
126 0,
127 false),
128 ASCIIToUTF16("name2")));
129 AutofillScanner scanner(list_.get()); 106 AutofillScanner scanner(list_.get());
130 field_.reset(Parse(&scanner)); 107 field_.reset(Parse(&scanner));
131 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 108 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
132 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 109 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
133 ASSERT_TRUE( 110 ASSERT_TRUE(
134 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 111 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
135 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 112 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
136 ASSERT_TRUE( 113 ASSERT_TRUE(
137 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 114 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
138 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]); 115 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
139 } 116 }
140 117
141 TEST_F(NameFieldTest, FirstLast2) { 118 TEST_F(NameFieldTest, FirstLast2) {
142 list_.push_back( 119 webkit_glue::FormField field;
143 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"), 120 field.form_control_type = ASCIIToUTF16("text");
144 ASCIIToUTF16("first_name"), 121
145 string16(), 122 field.label = ASCIIToUTF16("Name");
146 ASCIIToUTF16("text"), 123 field.name = ASCIIToUTF16("first_name");
147 0, 124 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
148 false), 125
149 ASCIIToUTF16("name1"))); 126 field.label = ASCIIToUTF16("Name");
150 list_.push_back( 127 field.name = ASCIIToUTF16("last_name");
151 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"), 128 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
152 ASCIIToUTF16("last_name"), 129
153 string16(),
154 ASCIIToUTF16("text"),
155 0,
156 false),
157 ASCIIToUTF16("name2")));
158 AutofillScanner scanner(list_.get()); 130 AutofillScanner scanner(list_.get());
159 field_.reset(Parse(&scanner)); 131 field_.reset(Parse(&scanner));
160 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 132 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
161 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 133 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
162 ASSERT_TRUE( 134 ASSERT_TRUE(
163 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 135 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
164 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 136 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
165 ASSERT_TRUE( 137 ASSERT_TRUE(
166 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 138 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
167 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]); 139 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
168 } 140 }
169 141
170 TEST_F(NameFieldTest, FirstLastMiddleWithSpaces) { 142 TEST_F(NameFieldTest, FirstLastMiddleWithSpaces) {
171 list_.push_back( 143 webkit_glue::FormField field;
172 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"), 144 field.form_control_type = ASCIIToUTF16("text");
173 ASCIIToUTF16("first name"), 145
174 string16(), 146 field.label = ASCIIToUTF16("First Name");
175 ASCIIToUTF16("text"), 147 field.name = ASCIIToUTF16("first_name");
176 0, 148 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
177 false), 149
178 ASCIIToUTF16("name1"))); 150 field.label = ASCIIToUTF16("Middle Name");
179 list_.push_back( 151 field.name = ASCIIToUTF16("middle_name");
180 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Middle Name"), 152 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
181 ASCIIToUTF16("middle name"), 153
182 string16(), 154 field.label = ASCIIToUTF16("Last Name");
183 ASCIIToUTF16("text"), 155 field.name = ASCIIToUTF16("last_name");
184 0, 156 list_.push_back(new AutofillField(field, ASCIIToUTF16("name3")));
185 false), 157
186 ASCIIToUTF16("name2")));
187 list_.push_back(
188 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
189 ASCIIToUTF16("last name"),
190 string16(),
191 ASCIIToUTF16("text"),
192 0,
193 false),
194 ASCIIToUTF16("name3")));
195 AutofillScanner scanner(list_.get()); 158 AutofillScanner scanner(list_.get());
196 field_.reset(Parse(&scanner)); 159 field_.reset(Parse(&scanner));
197 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 160 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
198 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 161 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
199 ASSERT_TRUE( 162 ASSERT_TRUE(
200 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 163 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
201 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 164 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
202 ASSERT_TRUE( 165 ASSERT_TRUE(
203 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 166 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
204 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]); 167 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
205 ASSERT_TRUE( 168 ASSERT_TRUE(
206 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 169 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
207 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 170 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
208 } 171 }
209 172
210 TEST_F(NameFieldTest, FirstLastEmpty) { 173 TEST_F(NameFieldTest, FirstLastEmpty) {
211 list_.push_back( 174 webkit_glue::FormField field;
212 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"), 175 field.form_control_type = ASCIIToUTF16("text");
213 ASCIIToUTF16("first_name"), 176
214 string16(), 177 field.label = ASCIIToUTF16("Name");
215 ASCIIToUTF16("text"), 178 field.name = ASCIIToUTF16("first_name");
216 0, 179 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
217 false), 180
218 ASCIIToUTF16("name1"))); 181 field.label = string16();
219 list_.push_back( 182 field.name = ASCIIToUTF16("last_name");
220 new AutofillField(webkit_glue::FormField(string16(), 183 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
221 ASCIIToUTF16("last_name"), 184
222 string16(),
223 ASCIIToUTF16("text"),
224 0,
225 false),
226 ASCIIToUTF16("name2")));
227 AutofillScanner scanner(list_.get()); 185 AutofillScanner scanner(list_.get());
228 field_.reset(Parse(&scanner)); 186 field_.reset(Parse(&scanner));
229 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 187 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
230 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 188 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
231 ASSERT_TRUE( 189 ASSERT_TRUE(
232 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 190 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
233 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 191 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
234 ASSERT_TRUE( 192 ASSERT_TRUE(
235 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 193 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
236 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]); 194 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
237 } 195 }
238 196
239 TEST_F(NameFieldTest, FirstMiddleLastEmpty) { 197 TEST_F(NameFieldTest, FirstMiddleLastEmpty) {
240 list_.push_back( 198 webkit_glue::FormField field;
241 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"), 199 field.form_control_type = ASCIIToUTF16("text");
242 ASCIIToUTF16("first_name"), 200
243 string16(), 201 field.label = ASCIIToUTF16("Name");
244 ASCIIToUTF16("text"), 202 field.name = ASCIIToUTF16("first_name");
245 0, 203 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
246 false), 204
247 ASCIIToUTF16("name1"))); 205 field.label = string16();
248 list_.push_back( 206 field.name = ASCIIToUTF16("middle_name");
249 new AutofillField(webkit_glue::FormField(string16(), 207 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
250 ASCIIToUTF16("middle_name"), 208
251 string16(), 209 field.label = string16();
252 ASCIIToUTF16("text"), 210 field.name = ASCIIToUTF16("last_name");
253 0, 211 list_.push_back(new AutofillField(field, ASCIIToUTF16("name3")));
254 false), 212
255 ASCIIToUTF16("name2")));
256 list_.push_back(
257 new AutofillField(webkit_glue::FormField(string16(),
258 ASCIIToUTF16("last_name"),
259 string16(),
260 ASCIIToUTF16("text"),
261 0,
262 false),
263 ASCIIToUTF16("name3")));
264 AutofillScanner scanner(list_.get()); 213 AutofillScanner scanner(list_.get());
265 field_.reset(Parse(&scanner)); 214 field_.reset(Parse(&scanner));
266 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 215 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
267 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 216 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
268 ASSERT_TRUE( 217 ASSERT_TRUE(
269 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 218 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
270 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 219 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
271 ASSERT_TRUE( 220 ASSERT_TRUE(
272 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 221 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
273 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]); 222 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
274 ASSERT_TRUE( 223 ASSERT_TRUE(
275 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 224 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
276 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 225 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
277 } 226 }
278 227
279 TEST_F(NameFieldTest, MiddleInitial) { 228 TEST_F(NameFieldTest, MiddleInitial) {
280 list_.push_back( 229 webkit_glue::FormField field;
281 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"), 230 field.form_control_type = ASCIIToUTF16("text");
282 ASCIIToUTF16("first_name"), 231
283 string16(), 232 field.label = ASCIIToUTF16("First Name");
284 ASCIIToUTF16("text"), 233 field.name = ASCIIToUTF16("first_name");
285 0, 234 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
286 false), 235
287 ASCIIToUTF16("name1"))); 236 field.label = ASCIIToUTF16("MI");
288 list_.push_back( 237 field.name = ASCIIToUTF16("middle_name");
289 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("MI"), 238 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
290 ASCIIToUTF16("middle_name"), 239
291 string16(), 240 field.label = ASCIIToUTF16("Last Name");
292 ASCIIToUTF16("text"), 241 field.name = ASCIIToUTF16("last_name");
293 0, 242 list_.push_back(new AutofillField(field, ASCIIToUTF16("name3")));
294 false), 243
295 ASCIIToUTF16("name2")));
296 list_.push_back(
297 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
298 ASCIIToUTF16("last_name"),
299 string16(),
300 ASCIIToUTF16("text"),
301 0,
302 false),
303 ASCIIToUTF16("name3")));
304 AutofillScanner scanner(list_.get()); 244 AutofillScanner scanner(list_.get());
305 field_.reset(Parse(&scanner)); 245 field_.reset(Parse(&scanner));
306 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 246 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
307 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 247 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
308 ASSERT_TRUE( 248 ASSERT_TRUE(
309 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 249 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
310 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 250 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
311 ASSERT_TRUE( 251 ASSERT_TRUE(
312 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 252 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
313 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]); 253 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
314 ASSERT_TRUE( 254 ASSERT_TRUE(
315 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 255 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
316 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 256 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
317 } 257 }
318 258
319 TEST_F(NameFieldTest, MiddleInitialNoLastName) { 259 TEST_F(NameFieldTest, MiddleInitialNoLastName) {
320 list_.push_back( 260 webkit_glue::FormField field;
321 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"), 261 field.form_control_type = ASCIIToUTF16("text");
322 ASCIIToUTF16("first_name"), 262
323 string16(), 263 field.label = ASCIIToUTF16("First Name");
324 ASCIIToUTF16("text"), 264 field.name = ASCIIToUTF16("first_name");
325 0, 265 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
326 false), 266
327 ASCIIToUTF16("name1"))); 267 field.label = ASCIIToUTF16("MI");
328 list_.push_back( 268 field.name = ASCIIToUTF16("middle_name");
329 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("MI"), 269 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
330 ASCIIToUTF16("middle_name"), 270
331 string16(),
332 ASCIIToUTF16("text"),
333 0,
334 false),
335 ASCIIToUTF16("name2")));
336 AutofillScanner scanner(list_.get()); 271 AutofillScanner scanner(list_.get());
337 field_.reset(Parse(&scanner)); 272 field_.reset(Parse(&scanner));
338 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get()); 273 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get());
339 } 274 }
340 275
341 // This case is from the dell.com checkout page. The middle initial "mi" string 276 // This case is from the dell.com checkout page. The middle initial "mi" string
342 // came at the end following other descriptive text. http://crbug.com/45123. 277 // came at the end following other descriptive text. http://crbug.com/45123.
343 TEST_F(NameFieldTest, MiddleInitialAtEnd) { 278 TEST_F(NameFieldTest, MiddleInitialAtEnd) {
344 list_.push_back( 279 webkit_glue::FormField field;
345 new AutofillField(webkit_glue::FormField(string16(), 280 field.form_control_type = ASCIIToUTF16("text");
346 ASCIIToUTF16("XXXnameXXXfirst"), 281
347 string16(), 282 field.label = string16();
348 ASCIIToUTF16("text"), 283 field.name = ASCIIToUTF16("XXXnameXXXfirst");
349 0, 284 list_.push_back(new AutofillField(field, ASCIIToUTF16("name1")));
350 false), 285
351 ASCIIToUTF16("name1"))); 286 field.label = string16();
352 list_.push_back( 287 field.name = ASCIIToUTF16("XXXnameXXXmi");
353 new AutofillField(webkit_glue::FormField(string16(), 288 list_.push_back(new AutofillField(field, ASCIIToUTF16("name2")));
354 ASCIIToUTF16("XXXnameXXXmi"), 289
355 string16(), 290 field.label = string16();
356 ASCIIToUTF16("text"), 291 field.name = ASCIIToUTF16("XXXnameXXXlast");
357 0, 292 list_.push_back(new AutofillField(field, ASCIIToUTF16("name3")));
358 false), 293
359 ASCIIToUTF16("name2")));
360 list_.push_back(
361 new AutofillField(webkit_glue::FormField(string16(),
362 ASCIIToUTF16("XXXnameXXXlast"),
363 string16(),
364 ASCIIToUTF16("text"),
365 0,
366 false),
367 ASCIIToUTF16("name3")));
368 AutofillScanner scanner(list_.get()); 294 AutofillScanner scanner(list_.get());
369 field_.reset(Parse(&scanner)); 295 field_.reset(Parse(&scanner));
370 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 296 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
371 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 297 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
372 ASSERT_TRUE( 298 ASSERT_TRUE(
373 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 299 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
374 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 300 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
375 ASSERT_TRUE( 301 ASSERT_TRUE(
376 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 302 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
377 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]); 303 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
378 ASSERT_TRUE( 304 ASSERT_TRUE(
379 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 305 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
380 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 306 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
381 } 307 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/form_structure_unittest.cc ('k') | chrome/browser/autofill/phone_field_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698