blob: 8edb07fc9a1f14f2829e890516b660bc85a4c9d3 [file] [log] [blame]
[email protected]c87481cd2011-03-04 12:29:571// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]7519f1a2010-04-08 02:11:362// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]3b63f8f42011-03-28 01:54:155#include "base/memory/scoped_ptr.h"
6#include "base/memory/scoped_vector.h"
[email protected]be1ce6a72010-08-03 14:35:227#include "base/utf_string_conversions.h"
[email protected]7519f1a2010-04-08 02:11:368#include "chrome/browser/autofill/autofill_field.h"
[email protected]2a958552011-05-05 04:01:219#include "chrome/browser/autofill/autofill_scanner.h"
[email protected]7519f1a2010-04-08 02:11:3610#include "chrome/browser/autofill/name_field.h"
11#include "testing/gtest/include/gtest/gtest.h"
12#include "webkit/glue/form_field.h"
13
[email protected]7519f1a2010-04-08 02:11:3614class NameFieldTest : public testing::Test {
15 public:
16 NameFieldTest() {}
17
18 protected:
[email protected]2033dcf2011-05-27 01:47:4019 ScopedVector<const AutofillField> list_;
[email protected]7519f1a2010-04-08 02:11:3620 scoped_ptr<NameField> field_;
21 FieldTypeMap field_type_map_;
[email protected]2033dcf2011-05-27 01:47:4022
23 // Downcast for tests.
[email protected]194e46f32011-08-08 20:01:1824 static NameField* Parse(AutofillScanner* scanner) {
25 return static_cast<NameField*>(NameField::Parse(scanner));
[email protected]2033dcf2011-05-27 01:47:4026 }
[email protected]7519f1a2010-04-08 02:11:3627
28 private:
29 DISALLOW_COPY_AND_ASSIGN(NameFieldTest);
30};
31
32TEST_F(NameFieldTest, FirstMiddleLast) {
33 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:5734 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"),
[email protected]7519f1a2010-04-08 02:11:3635 ASCIIToUTF16("First"),
36 string16(),
[email protected]ee0e2d92010-05-14 19:21:1837 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:1638 0,
39 false),
[email protected]7519f1a2010-04-08 02:11:3640 ASCIIToUTF16("name1")));
41 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:5742 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Middle Name"),
[email protected]7519f1a2010-04-08 02:11:3643 ASCIIToUTF16("Middle"),
44 string16(),
[email protected]ee0e2d92010-05-14 19:21:1845 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:1646 0,
47 false),
[email protected]7519f1a2010-04-08 02:11:3648 ASCIIToUTF16("name2")));
49 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:5750 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
[email protected]7519f1a2010-04-08 02:11:3651 ASCIIToUTF16("Last"),
52 string16(),
[email protected]ee0e2d92010-05-14 19:21:1853 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:1654 0,
55 false),
[email protected]7519f1a2010-04-08 02:11:3656 ASCIIToUTF16("name3")));
[email protected]2a958552011-05-05 04:01:2157 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:1858 field_.reset(Parse(&scanner));
[email protected]7519f1a2010-04-08 02:11:3659 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:4660 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]7519f1a2010-04-08 02:11:3661 ASSERT_TRUE(
62 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
63 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
64 ASSERT_TRUE(
65 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
66 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
67 ASSERT_TRUE(
68 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
69 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
70}
71
[email protected]f6f53bab2010-04-12 16:49:4772TEST_F(NameFieldTest, FirstMiddleLast2) {
73 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:5774 new AutofillField(webkit_glue::FormField(string16(),
[email protected]f6f53bab2010-04-12 16:49:4775 ASCIIToUTF16("firstName"),
76 string16(),
[email protected]ee0e2d92010-05-14 19:21:1877 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:1678 0,
79 false),
[email protected]f6f53bab2010-04-12 16:49:4780 ASCIIToUTF16("name1")));
81 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:5782 new AutofillField(webkit_glue::FormField(string16(),
[email protected]f6f53bab2010-04-12 16:49:4783 ASCIIToUTF16("middleName"),
84 string16(),
[email protected]ee0e2d92010-05-14 19:21:1885 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:1686 0,
87 false),
[email protected]f6f53bab2010-04-12 16:49:4788 ASCIIToUTF16("name2")));
89 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:5790 new AutofillField(webkit_glue::FormField(string16(),
[email protected]f6f53bab2010-04-12 16:49:4791 ASCIIToUTF16("lastName"),
92 string16(),
[email protected]ee0e2d92010-05-14 19:21:1893 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:1694 0,
95 false),
[email protected]f6f53bab2010-04-12 16:49:4796 ASCIIToUTF16("name3")));
[email protected]2a958552011-05-05 04:01:2197 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:1898 field_.reset(Parse(&scanner));
[email protected]f6f53bab2010-04-12 16:49:4799 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46100 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]f6f53bab2010-04-12 16:49:47101 ASSERT_TRUE(
102 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
103 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
104 ASSERT_TRUE(
105 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
106 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
107 ASSERT_TRUE(
108 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
109 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
110}
111
[email protected]290838a2010-04-27 17:37:01112TEST_F(NameFieldTest, FirstLast) {
113 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57114 new AutofillField(webkit_glue::FormField(string16(),
[email protected]290838a2010-04-27 17:37:01115 ASCIIToUTF16("first_name"),
116 string16(),
[email protected]ee0e2d92010-05-14 19:21:18117 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16118 0,
119 false),
[email protected]290838a2010-04-27 17:37:01120 ASCIIToUTF16("name1")));
121 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57122 new AutofillField(webkit_glue::FormField(string16(),
[email protected]290838a2010-04-27 17:37:01123 ASCIIToUTF16("last_name"),
124 string16(),
[email protected]ee0e2d92010-05-14 19:21:18125 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16126 0,
127 false),
[email protected]290838a2010-04-27 17:37:01128 ASCIIToUTF16("name2")));
[email protected]2a958552011-05-05 04:01:21129 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18130 field_.reset(Parse(&scanner));
[email protected]290838a2010-04-27 17:37:01131 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46132 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]290838a2010-04-27 17:37:01133 ASSERT_TRUE(
134 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
135 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
136 ASSERT_TRUE(
137 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
138 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
139}
140
141TEST_F(NameFieldTest, FirstLast2) {
142 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57143 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"),
[email protected]290838a2010-04-27 17:37:01144 ASCIIToUTF16("first_name"),
145 string16(),
[email protected]ee0e2d92010-05-14 19:21:18146 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16147 0,
148 false),
[email protected]290838a2010-04-27 17:37:01149 ASCIIToUTF16("name1")));
150 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57151 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"),
[email protected]290838a2010-04-27 17:37:01152 ASCIIToUTF16("last_name"),
153 string16(),
[email protected]ee0e2d92010-05-14 19:21:18154 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16155 0,
156 false),
[email protected]290838a2010-04-27 17:37:01157 ASCIIToUTF16("name2")));
[email protected]2a958552011-05-05 04:01:21158 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18159 field_.reset(Parse(&scanner));
[email protected]290838a2010-04-27 17:37:01160 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46161 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]290838a2010-04-27 17:37:01162 ASSERT_TRUE(
163 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
164 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
165 ASSERT_TRUE(
166 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
167 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
168}
169
[email protected]44e621d2010-05-13 02:16:53170TEST_F(NameFieldTest, FirstLastMiddleWithSpaces) {
171 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57172 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"),
[email protected]44e621d2010-05-13 02:16:53173 ASCIIToUTF16("first name"),
174 string16(),
[email protected]ee0e2d92010-05-14 19:21:18175 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16176 0,
177 false),
[email protected]44e621d2010-05-13 02:16:53178 ASCIIToUTF16("name1")));
179 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57180 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Middle Name"),
[email protected]44e621d2010-05-13 02:16:53181 ASCIIToUTF16("middle name"),
182 string16(),
[email protected]ee0e2d92010-05-14 19:21:18183 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16184 0,
185 false),
[email protected]44e621d2010-05-13 02:16:53186 ASCIIToUTF16("name2")));
187 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57188 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
[email protected]44e621d2010-05-13 02:16:53189 ASCIIToUTF16("last name"),
190 string16(),
[email protected]ee0e2d92010-05-14 19:21:18191 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16192 0,
193 false),
[email protected]44e621d2010-05-13 02:16:53194 ASCIIToUTF16("name3")));
[email protected]2a958552011-05-05 04:01:21195 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18196 field_.reset(Parse(&scanner));
[email protected]44e621d2010-05-13 02:16:53197 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46198 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]44e621d2010-05-13 02:16:53199 ASSERT_TRUE(
200 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
201 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
202 ASSERT_TRUE(
203 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
204 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
205 ASSERT_TRUE(
206 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
207 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
208}
209
[email protected]51883692010-08-04 22:02:14210TEST_F(NameFieldTest, FirstLastEmpty) {
211 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57212 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"),
[email protected]51883692010-08-04 22:02:14213 ASCIIToUTF16("first_name"),
214 string16(),
215 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16216 0,
217 false),
[email protected]51883692010-08-04 22:02:14218 ASCIIToUTF16("name1")));
219 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57220 new AutofillField(webkit_glue::FormField(string16(),
[email protected]51883692010-08-04 22:02:14221 ASCIIToUTF16("last_name"),
222 string16(),
223 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16224 0,
225 false),
[email protected]51883692010-08-04 22:02:14226 ASCIIToUTF16("name2")));
[email protected]2a958552011-05-05 04:01:21227 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18228 field_.reset(Parse(&scanner));
[email protected]51883692010-08-04 22:02:14229 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46230 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]51883692010-08-04 22:02:14231 ASSERT_TRUE(
232 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
233 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
234 ASSERT_TRUE(
235 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
236 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
237}
238
239TEST_F(NameFieldTest, FirstMiddleLastEmpty) {
240 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57241 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"),
[email protected]51883692010-08-04 22:02:14242 ASCIIToUTF16("first_name"),
243 string16(),
244 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16245 0,
246 false),
[email protected]51883692010-08-04 22:02:14247 ASCIIToUTF16("name1")));
248 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57249 new AutofillField(webkit_glue::FormField(string16(),
[email protected]51883692010-08-04 22:02:14250 ASCIIToUTF16("middle_name"),
251 string16(),
252 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16253 0,
254 false),
[email protected]51883692010-08-04 22:02:14255 ASCIIToUTF16("name2")));
256 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57257 new AutofillField(webkit_glue::FormField(string16(),
[email protected]51883692010-08-04 22:02:14258 ASCIIToUTF16("last_name"),
259 string16(),
260 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16261 0,
262 false),
[email protected]51883692010-08-04 22:02:14263 ASCIIToUTF16("name3")));
[email protected]2a958552011-05-05 04:01:21264 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18265 field_.reset(Parse(&scanner));
[email protected]51883692010-08-04 22:02:14266 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46267 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]51883692010-08-04 22:02:14268 ASSERT_TRUE(
269 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
270 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
271 ASSERT_TRUE(
272 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
273 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
274 ASSERT_TRUE(
275 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
276 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
277}
278
279TEST_F(NameFieldTest, MiddleInitial) {
280 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57281 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"),
[email protected]51883692010-08-04 22:02:14282 ASCIIToUTF16("first_name"),
283 string16(),
284 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16285 0,
286 false),
[email protected]51883692010-08-04 22:02:14287 ASCIIToUTF16("name1")));
288 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57289 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("MI"),
[email protected]51883692010-08-04 22:02:14290 ASCIIToUTF16("middle_name"),
291 string16(),
292 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16293 0,
294 false),
[email protected]51883692010-08-04 22:02:14295 ASCIIToUTF16("name2")));
296 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57297 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
[email protected]51883692010-08-04 22:02:14298 ASCIIToUTF16("last_name"),
299 string16(),
300 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16301 0,
302 false),
[email protected]51883692010-08-04 22:02:14303 ASCIIToUTF16("name3")));
[email protected]2a958552011-05-05 04:01:21304 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18305 field_.reset(Parse(&scanner));
[email protected]51883692010-08-04 22:02:14306 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46307 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]51883692010-08-04 22:02:14308 ASSERT_TRUE(
309 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
310 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
311 ASSERT_TRUE(
312 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
313 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
314 ASSERT_TRUE(
315 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
316 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
317}
318
319TEST_F(NameFieldTest, MiddleInitialNoLastName) {
320 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57321 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"),
[email protected]51883692010-08-04 22:02:14322 ASCIIToUTF16("first_name"),
323 string16(),
324 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16325 0,
326 false),
[email protected]51883692010-08-04 22:02:14327 ASCIIToUTF16("name1")));
328 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57329 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("MI"),
[email protected]51883692010-08-04 22:02:14330 ASCIIToUTF16("middle_name"),
331 string16(),
332 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16333 0,
334 false),
[email protected]51883692010-08-04 22:02:14335 ASCIIToUTF16("name2")));
[email protected]2a958552011-05-05 04:01:21336 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18337 field_.reset(Parse(&scanner));
[email protected]51883692010-08-04 22:02:14338 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get());
339}
340
[email protected]fd529d62010-08-24 22:33:23341// 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.
343TEST_F(NameFieldTest, MiddleInitialAtEnd) {
344 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57345 new AutofillField(webkit_glue::FormField(string16(),
[email protected]fd529d62010-08-24 22:33:23346 ASCIIToUTF16("XXXnameXXXfirst"),
347 string16(),
348 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16349 0,
350 false),
[email protected]fd529d62010-08-24 22:33:23351 ASCIIToUTF16("name1")));
352 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57353 new AutofillField(webkit_glue::FormField(string16(),
[email protected]fd529d62010-08-24 22:33:23354 ASCIIToUTF16("XXXnameXXXmi"),
355 string16(),
356 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16357 0,
358 false),
[email protected]fd529d62010-08-24 22:33:23359 ASCIIToUTF16("name2")));
360 list_.push_back(
[email protected]c87481cd2011-03-04 12:29:57361 new AutofillField(webkit_glue::FormField(string16(),
[email protected]fd529d62010-08-24 22:33:23362 ASCIIToUTF16("XXXnameXXXlast"),
363 string16(),
364 ASCIIToUTF16("text"),
[email protected]3bb80e42010-11-29 22:27:16365 0,
366 false),
[email protected]fd529d62010-08-24 22:33:23367 ASCIIToUTF16("name3")));
[email protected]2a958552011-05-05 04:01:21368 AutofillScanner scanner(list_.get());
[email protected]194e46f32011-08-08 20:01:18369 field_.reset(Parse(&scanner));
[email protected]fd529d62010-08-24 22:33:23370 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
[email protected]1a9d0de22011-05-19 23:42:46371 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
[email protected]fd529d62010-08-24 22:33:23372 ASSERT_TRUE(
373 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
374 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
375 ASSERT_TRUE(
376 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
377 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
378 ASSERT_TRUE(
379 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
380 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
381}