| 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 |