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

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

Issue 7585020: Remove Autofill support for the ECML standard, as it is virtually unused. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove ECML files from the repository 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
« no previous file with comments | « chrome/browser/autofill/name_field.cc ('k') | chrome/browser/autofill/phone_field.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "webkit/glue/form_field.h" 12 #include "webkit/glue/form_field.h"
13 13
14 class NameFieldTest : public testing::Test { 14 class NameFieldTest : public testing::Test {
15 public: 15 public:
16 NameFieldTest() {} 16 NameFieldTest() {}
17 17
18 protected: 18 protected:
19 ScopedVector<const AutofillField> list_; 19 ScopedVector<const AutofillField> list_;
20 scoped_ptr<NameField> field_; 20 scoped_ptr<NameField> field_;
21 FieldTypeMap field_type_map_; 21 FieldTypeMap field_type_map_;
22 22
23 // Downcast for tests. 23 // Downcast for tests.
24 static NameField* Parse(AutofillScanner* scanner, bool is_ecml) { 24 static NameField* Parse(AutofillScanner* scanner) {
25 return static_cast<NameField*>(NameField::Parse(scanner, is_ecml)); 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 list_.push_back(
34 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"), 34 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("First Name"),
35 ASCIIToUTF16("First"), 35 ASCIIToUTF16("First"),
(...skipping 12 matching lines...) Expand all
48 ASCIIToUTF16("name2"))); 48 ASCIIToUTF16("name2")));
49 list_.push_back( 49 list_.push_back(
50 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"), 50 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
51 ASCIIToUTF16("Last"), 51 ASCIIToUTF16("Last"),
52 string16(), 52 string16(),
53 ASCIIToUTF16("text"), 53 ASCIIToUTF16("text"),
54 0, 54 0,
55 false), 55 false),
56 ASCIIToUTF16("name3"))); 56 ASCIIToUTF16("name3")));
57 AutofillScanner scanner(list_.get()); 57 AutofillScanner scanner(list_.get());
58 field_.reset(Parse(&scanner, false)); 58 field_.reset(Parse(&scanner));
59 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 59 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
60 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 60 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
61 ASSERT_TRUE( 61 ASSERT_TRUE(
62 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 62 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
63 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 63 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
64 ASSERT_TRUE( 64 ASSERT_TRUE(
65 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 65 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
66 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]); 66 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
67 ASSERT_TRUE( 67 ASSERT_TRUE(
68 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 68 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
(...skipping 19 matching lines...) Expand all
88 ASCIIToUTF16("name2"))); 88 ASCIIToUTF16("name2")));
89 list_.push_back( 89 list_.push_back(
90 new AutofillField(webkit_glue::FormField(string16(), 90 new AutofillField(webkit_glue::FormField(string16(),
91 ASCIIToUTF16("lastName"), 91 ASCIIToUTF16("lastName"),
92 string16(), 92 string16(),
93 ASCIIToUTF16("text"), 93 ASCIIToUTF16("text"),
94 0, 94 0,
95 false), 95 false),
96 ASCIIToUTF16("name3"))); 96 ASCIIToUTF16("name3")));
97 AutofillScanner scanner(list_.get()); 97 AutofillScanner scanner(list_.get());
98 field_.reset(Parse(&scanner, false)); 98 field_.reset(Parse(&scanner));
99 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 99 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
100 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 100 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
101 ASSERT_TRUE( 101 ASSERT_TRUE(
102 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 102 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
103 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 103 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
104 ASSERT_TRUE( 104 ASSERT_TRUE(
105 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 105 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
106 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]); 106 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
107 ASSERT_TRUE( 107 ASSERT_TRUE(
108 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 108 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
(...skipping 11 matching lines...) Expand all
120 ASCIIToUTF16("name1"))); 120 ASCIIToUTF16("name1")));
121 list_.push_back( 121 list_.push_back(
122 new AutofillField(webkit_glue::FormField(string16(), 122 new AutofillField(webkit_glue::FormField(string16(),
123 ASCIIToUTF16("last_name"), 123 ASCIIToUTF16("last_name"),
124 string16(), 124 string16(),
125 ASCIIToUTF16("text"), 125 ASCIIToUTF16("text"),
126 0, 126 0,
127 false), 127 false),
128 ASCIIToUTF16("name2"))); 128 ASCIIToUTF16("name2")));
129 AutofillScanner scanner(list_.get()); 129 AutofillScanner scanner(list_.get());
130 field_.reset(Parse(&scanner, false)); 130 field_.reset(Parse(&scanner));
131 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 131 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
132 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 132 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
133 ASSERT_TRUE( 133 ASSERT_TRUE(
134 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 134 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
135 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 135 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
136 ASSERT_TRUE( 136 ASSERT_TRUE(
137 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 137 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
138 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]); 138 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
139 } 139 }
140 140
141 TEST_F(NameFieldTest, FirstLast2) { 141 TEST_F(NameFieldTest, FirstLast2) {
142 list_.push_back( 142 list_.push_back(
143 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"), 143 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"),
144 ASCIIToUTF16("first_name"), 144 ASCIIToUTF16("first_name"),
145 string16(), 145 string16(),
146 ASCIIToUTF16("text"), 146 ASCIIToUTF16("text"),
147 0, 147 0,
148 false), 148 false),
149 ASCIIToUTF16("name1"))); 149 ASCIIToUTF16("name1")));
150 list_.push_back( 150 list_.push_back(
151 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"), 151 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Name"),
152 ASCIIToUTF16("last_name"), 152 ASCIIToUTF16("last_name"),
153 string16(), 153 string16(),
154 ASCIIToUTF16("text"), 154 ASCIIToUTF16("text"),
155 0, 155 0,
156 false), 156 false),
157 ASCIIToUTF16("name2"))); 157 ASCIIToUTF16("name2")));
158 AutofillScanner scanner(list_.get()); 158 AutofillScanner scanner(list_.get());
159 field_.reset(Parse(&scanner, false)); 159 field_.reset(Parse(&scanner));
160 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 160 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
161 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 161 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
162 ASSERT_TRUE( 162 ASSERT_TRUE(
163 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 163 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
164 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 164 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
165 ASSERT_TRUE( 165 ASSERT_TRUE(
166 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 166 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
167 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]); 167 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
168 } 168 }
169 169
(...skipping 16 matching lines...) Expand all
186 ASCIIToUTF16("name2"))); 186 ASCIIToUTF16("name2")));
187 list_.push_back( 187 list_.push_back(
188 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"), 188 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
189 ASCIIToUTF16("last name"), 189 ASCIIToUTF16("last name"),
190 string16(), 190 string16(),
191 ASCIIToUTF16("text"), 191 ASCIIToUTF16("text"),
192 0, 192 0,
193 false), 193 false),
194 ASCIIToUTF16("name3"))); 194 ASCIIToUTF16("name3")));
195 AutofillScanner scanner(list_.get()); 195 AutofillScanner scanner(list_.get());
196 field_.reset(Parse(&scanner, false)); 196 field_.reset(Parse(&scanner));
197 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 197 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
198 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 198 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
199 ASSERT_TRUE( 199 ASSERT_TRUE(
200 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 200 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
201 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 201 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
202 ASSERT_TRUE( 202 ASSERT_TRUE(
203 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 203 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
204 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]); 204 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
205 ASSERT_TRUE( 205 ASSERT_TRUE(
206 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 206 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
(...skipping 11 matching lines...) Expand all
218 ASCIIToUTF16("name1"))); 218 ASCIIToUTF16("name1")));
219 list_.push_back( 219 list_.push_back(
220 new AutofillField(webkit_glue::FormField(string16(), 220 new AutofillField(webkit_glue::FormField(string16(),
221 ASCIIToUTF16("last_name"), 221 ASCIIToUTF16("last_name"),
222 string16(), 222 string16(),
223 ASCIIToUTF16("text"), 223 ASCIIToUTF16("text"),
224 0, 224 0,
225 false), 225 false),
226 ASCIIToUTF16("name2"))); 226 ASCIIToUTF16("name2")));
227 AutofillScanner scanner(list_.get()); 227 AutofillScanner scanner(list_.get());
228 field_.reset(Parse(&scanner, false)); 228 field_.reset(Parse(&scanner));
229 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 229 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
230 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 230 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
231 ASSERT_TRUE( 231 ASSERT_TRUE(
232 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 232 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
233 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 233 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
234 ASSERT_TRUE( 234 ASSERT_TRUE(
235 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 235 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
236 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]); 236 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name2")]);
237 } 237 }
238 238
(...skipping 16 matching lines...) Expand all
255 ASCIIToUTF16("name2"))); 255 ASCIIToUTF16("name2")));
256 list_.push_back( 256 list_.push_back(
257 new AutofillField(webkit_glue::FormField(string16(), 257 new AutofillField(webkit_glue::FormField(string16(),
258 ASCIIToUTF16("last_name"), 258 ASCIIToUTF16("last_name"),
259 string16(), 259 string16(),
260 ASCIIToUTF16("text"), 260 ASCIIToUTF16("text"),
261 0, 261 0,
262 false), 262 false),
263 ASCIIToUTF16("name3"))); 263 ASCIIToUTF16("name3")));
264 AutofillScanner scanner(list_.get()); 264 AutofillScanner scanner(list_.get());
265 field_.reset(Parse(&scanner, false)); 265 field_.reset(Parse(&scanner));
266 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 266 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
267 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 267 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
268 ASSERT_TRUE( 268 ASSERT_TRUE(
269 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 269 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
270 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 270 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
271 ASSERT_TRUE( 271 ASSERT_TRUE(
272 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 272 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
273 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]); 273 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
274 ASSERT_TRUE( 274 ASSERT_TRUE(
275 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 275 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
(...skipping 19 matching lines...) Expand all
295 ASCIIToUTF16("name2"))); 295 ASCIIToUTF16("name2")));
296 list_.push_back( 296 list_.push_back(
297 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"), 297 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
298 ASCIIToUTF16("last_name"), 298 ASCIIToUTF16("last_name"),
299 string16(), 299 string16(),
300 ASCIIToUTF16("text"), 300 ASCIIToUTF16("text"),
301 0, 301 0,
302 false), 302 false),
303 ASCIIToUTF16("name3"))); 303 ASCIIToUTF16("name3")));
304 AutofillScanner scanner(list_.get()); 304 AutofillScanner scanner(list_.get());
305 field_.reset(Parse(&scanner, false)); 305 field_.reset(Parse(&scanner));
306 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 306 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
307 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 307 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
308 ASSERT_TRUE( 308 ASSERT_TRUE(
309 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 309 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
310 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 310 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
311 ASSERT_TRUE( 311 ASSERT_TRUE(
312 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 312 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
313 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]); 313 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
314 ASSERT_TRUE( 314 ASSERT_TRUE(
315 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 315 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
(...skipping 11 matching lines...) Expand all
327 ASCIIToUTF16("name1"))); 327 ASCIIToUTF16("name1")));
328 list_.push_back( 328 list_.push_back(
329 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("MI"), 329 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("MI"),
330 ASCIIToUTF16("middle_name"), 330 ASCIIToUTF16("middle_name"),
331 string16(), 331 string16(),
332 ASCIIToUTF16("text"), 332 ASCIIToUTF16("text"),
333 0, 333 0,
334 false), 334 false),
335 ASCIIToUTF16("name2"))); 335 ASCIIToUTF16("name2")));
336 AutofillScanner scanner(list_.get()); 336 AutofillScanner scanner(list_.get());
337 field_.reset(Parse(&scanner, false)); 337 field_.reset(Parse(&scanner));
338 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get()); 338 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get());
339 } 339 }
340 340
341 // This case is from the dell.com checkout page. The middle initial "mi" string 341 // 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. 342 // came at the end following other descriptive text. http://crbug.com/45123.
343 TEST_F(NameFieldTest, MiddleInitialAtEnd) { 343 TEST_F(NameFieldTest, MiddleInitialAtEnd) {
344 list_.push_back( 344 list_.push_back(
345 new AutofillField(webkit_glue::FormField(string16(), 345 new AutofillField(webkit_glue::FormField(string16(),
346 ASCIIToUTF16("XXXnameXXXfirst"), 346 ASCIIToUTF16("XXXnameXXXfirst"),
347 string16(), 347 string16(),
(...skipping 11 matching lines...) Expand all
359 ASCIIToUTF16("name2"))); 359 ASCIIToUTF16("name2")));
360 list_.push_back( 360 list_.push_back(
361 new AutofillField(webkit_glue::FormField(string16(), 361 new AutofillField(webkit_glue::FormField(string16(),
362 ASCIIToUTF16("XXXnameXXXlast"), 362 ASCIIToUTF16("XXXnameXXXlast"),
363 string16(), 363 string16(),
364 ASCIIToUTF16("text"), 364 ASCIIToUTF16("text"),
365 0, 365 0,
366 false), 366 false),
367 ASCIIToUTF16("name3"))); 367 ASCIIToUTF16("name3")));
368 AutofillScanner scanner(list_.get()); 368 AutofillScanner scanner(list_.get());
369 field_.reset(Parse(&scanner, false)); 369 field_.reset(Parse(&scanner));
370 ASSERT_NE(static_cast<NameField*>(NULL), field_.get()); 370 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
371 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 371 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
372 ASSERT_TRUE( 372 ASSERT_TRUE(
373 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end()); 373 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
374 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]); 374 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
375 ASSERT_TRUE( 375 ASSERT_TRUE(
376 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end()); 376 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
377 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]); 377 EXPECT_EQ(NAME_MIDDLE_INITIAL, field_type_map_[ASCIIToUTF16("name2")]);
378 ASSERT_TRUE( 378 ASSERT_TRUE(
379 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end()); 379 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
380 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]); 380 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
381 } 381 }
382
383 TEST_F(NameFieldTest, ECMLNoName) {
384 list_.push_back(new AutofillField(
385 webkit_glue::FormField(ASCIIToUTF16("Company"),
386 ASCIIToUTF16("ecom_shipto_postal_company"),
387 string16(),
388 ASCIIToUTF16("text"),
389 0,
390 false),
391 ASCIIToUTF16("field1")));
392 AutofillScanner scanner(list_.get());
393 field_.reset(Parse(&scanner, true));
394 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get());
395 }
396
397 TEST_F(NameFieldTest, ECMLMiddleInitialNoLastName) {
398 list_.push_back(new AutofillField(
399 webkit_glue::FormField(ASCIIToUTF16("First Name"),
400 ASCIIToUTF16("ecom_shipto_postal_name_first"),
401 string16(),
402 ASCIIToUTF16("text"),
403 0,
404 false),
405 ASCIIToUTF16("name1")));
406 list_.push_back(new AutofillField(
407 webkit_glue::FormField(ASCIIToUTF16("Middle"),
408 ASCIIToUTF16("ecom_shipto_postal_name_middle"),
409 string16(),
410 ASCIIToUTF16("text"),
411 0,
412 false),
413 ASCIIToUTF16("name2")));
414 AutofillScanner scanner(list_.get());
415 field_.reset(Parse(&scanner, true));
416 ASSERT_EQ(static_cast<NameField*>(NULL), field_.get());
417 }
418
419 TEST_F(NameFieldTest, ECMLFirstMiddleLast) {
420 list_.push_back(new AutofillField(
421 webkit_glue::FormField(string16(),
422 ASCIIToUTF16("ecom_shipto_postal_name_first"),
423 string16(),
424 ASCIIToUTF16("text"),
425 0,
426 false),
427 ASCIIToUTF16("name1")));
428 list_.push_back(new AutofillField(
429 webkit_glue::FormField(string16(),
430 ASCIIToUTF16("ecom_shipto_postal_name_middle"),
431 string16(),
432 ASCIIToUTF16("text"),
433 0,
434 false),
435 ASCIIToUTF16("name2")));
436 list_.push_back(new AutofillField(
437 webkit_glue::FormField(string16(),
438 ASCIIToUTF16("ecom_shipto_postal_name_last"),
439 string16(),
440 ASCIIToUTF16("text"),
441 0,
442 false),
443 ASCIIToUTF16("name3")));
444 AutofillScanner scanner(list_.get());
445 field_.reset(Parse(&scanner, true));
446 ASSERT_NE(static_cast<NameField*>(NULL), field_.get());
447 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
448 ASSERT_TRUE(
449 field_type_map_.find(ASCIIToUTF16("name1")) != field_type_map_.end());
450 EXPECT_EQ(NAME_FIRST, field_type_map_[ASCIIToUTF16("name1")]);
451 ASSERT_TRUE(
452 field_type_map_.find(ASCIIToUTF16("name2")) != field_type_map_.end());
453 EXPECT_EQ(NAME_MIDDLE, field_type_map_[ASCIIToUTF16("name2")]);
454 ASSERT_TRUE(
455 field_type_map_.find(ASCIIToUTF16("name3")) != field_type_map_.end());
456 EXPECT_EQ(NAME_LAST, field_type_map_[ASCIIToUTF16("name3")]);
457 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/name_field.cc ('k') | chrome/browser/autofill/phone_field.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698