OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } | |
OLD | NEW |