| 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_ecml.h" | |
| 9 #include "chrome/browser/autofill/autofill_field.h" | 8 #include "chrome/browser/autofill/autofill_field.h" |
| 10 #include "chrome/browser/autofill/autofill_scanner.h" | 9 #include "chrome/browser/autofill/autofill_scanner.h" |
| 11 #include "chrome/browser/autofill/phone_field.h" | 10 #include "chrome/browser/autofill/phone_field.h" |
| 12 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
| 13 #include "webkit/glue/form_field.h" | 12 #include "webkit/glue/form_field.h" |
| 14 | 13 |
| 15 class PhoneFieldTest : public testing::Test { | 14 class PhoneFieldTest : public testing::Test { |
| 16 public: | 15 public: |
| 17 PhoneFieldTest() {} | 16 PhoneFieldTest() {} |
| 18 | 17 |
| 19 protected: | 18 protected: |
| 20 ScopedVector<const AutofillField> list_; | 19 ScopedVector<const AutofillField> list_; |
| 21 scoped_ptr<PhoneField> field_; | 20 scoped_ptr<PhoneField> field_; |
| 22 FieldTypeMap field_type_map_; | 21 FieldTypeMap field_type_map_; |
| 23 | 22 |
| 24 // Downcast for tests. | 23 // Downcast for tests. |
| 25 static PhoneField* Parse(AutofillScanner* scanner, bool is_ecml) { | 24 static PhoneField* Parse(AutofillScanner* scanner) { |
| 26 return static_cast<PhoneField*>(PhoneField::Parse(scanner, is_ecml)); | 25 return static_cast<PhoneField*>(PhoneField::Parse(scanner)); |
| 27 } | 26 } |
| 28 | 27 |
| 29 private: | 28 private: |
| 30 DISALLOW_COPY_AND_ASSIGN(PhoneFieldTest); | 29 DISALLOW_COPY_AND_ASSIGN(PhoneFieldTest); |
| 31 }; | 30 }; |
| 32 | 31 |
| 33 TEST_F(PhoneFieldTest, Empty) { | 32 TEST_F(PhoneFieldTest, Empty) { |
| 34 AutofillScanner scanner(list_.get()); | 33 AutofillScanner scanner(list_.get()); |
| 35 field_.reset(Parse(&scanner, false)); | 34 field_.reset(Parse(&scanner)); |
| 36 ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get()); | 35 ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get()); |
| 37 } | 36 } |
| 38 | 37 |
| 39 TEST_F(PhoneFieldTest, NonParse) { | 38 TEST_F(PhoneFieldTest, NonParse) { |
| 40 list_.push_back(new AutofillField); | 39 list_.push_back(new AutofillField); |
| 41 AutofillScanner scanner(list_.get()); | 40 AutofillScanner scanner(list_.get()); |
| 42 field_.reset(Parse(&scanner, false)); | 41 field_.reset(Parse(&scanner)); |
| 43 ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get()); | 42 ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get()); |
| 44 } | 43 } |
| 45 | 44 |
| 46 TEST_F(PhoneFieldTest, ParseOneLinePhone) { | 45 TEST_F(PhoneFieldTest, ParseOneLinePhone) { |
| 47 list_.push_back( | 46 list_.push_back( |
| 48 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 47 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 49 ASCIIToUTF16("phone"), | 48 ASCIIToUTF16("phone"), |
| 50 string16(), | 49 string16(), |
| 51 ASCIIToUTF16("text"), | 50 ASCIIToUTF16("text"), |
| 52 0, | 51 0, |
| 53 false), | 52 false), |
| 54 ASCIIToUTF16("phone1"))); | 53 ASCIIToUTF16("phone1"))); |
| 55 AutofillScanner scanner(list_.get()); | 54 AutofillScanner scanner(list_.get()); |
| 56 field_.reset(Parse(&scanner, false)); | 55 field_.reset(Parse(&scanner)); |
| 57 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 56 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 58 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 57 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 59 ASSERT_TRUE( | 58 ASSERT_TRUE( |
| 60 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | |
| 61 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | |
| 62 } | |
| 63 | |
| 64 TEST_F(PhoneFieldTest, ParseOneLinePhoneEcml) { | |
| 65 list_.push_back( | |
| 66 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | |
| 67 ASCIIToUTF16(kEcmlShipToPhone), | |
| 68 string16(), | |
| 69 ASCIIToUTF16("text"), | |
| 70 0, | |
| 71 false), | |
| 72 ASCIIToUTF16("phone1"))); | |
| 73 AutofillScanner scanner(list_.get()); | |
| 74 field_.reset(Parse(&scanner, true)); | |
| 75 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | |
| 76 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | |
| 77 ASSERT_TRUE( | |
| 78 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 59 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 79 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 60 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 80 } | 61 } |
| 81 | 62 |
| 82 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { | 63 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { |
| 83 list_.push_back( | 64 list_.push_back( |
| 84 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), | 65 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), |
| 85 ASCIIToUTF16("area code"), | 66 ASCIIToUTF16("area code"), |
| 86 string16(), | 67 string16(), |
| 87 ASCIIToUTF16("text"), | 68 ASCIIToUTF16("text"), |
| 88 0, | 69 0, |
| 89 false), | 70 false), |
| 90 ASCIIToUTF16("areacode1"))); | 71 ASCIIToUTF16("areacode1"))); |
| 91 list_.push_back( | 72 list_.push_back( |
| 92 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 73 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 93 ASCIIToUTF16("phone"), | 74 ASCIIToUTF16("phone"), |
| 94 string16(), | 75 string16(), |
| 95 ASCIIToUTF16("text"), | 76 ASCIIToUTF16("text"), |
| 96 0, | 77 0, |
| 97 false), | 78 false), |
| 98 ASCIIToUTF16("phone1"))); | 79 ASCIIToUTF16("phone1"))); |
| 99 AutofillScanner scanner(list_.get()); | 80 AutofillScanner scanner(list_.get()); |
| 100 field_.reset(Parse(&scanner, false)); | 81 field_.reset(Parse(&scanner)); |
| 101 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 82 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 102 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 83 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 103 ASSERT_TRUE( | 84 ASSERT_TRUE( |
| 104 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | |
| 105 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | |
| 106 ASSERT_TRUE( | |
| 107 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | |
| 108 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | |
| 109 } | |
| 110 | |
| 111 TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlShipTo) { | |
| 112 list_.push_back( | |
| 113 new AutofillField( | |
| 114 webkit_glue::FormField(ASCIIToUTF16("Area Code"), | |
| 115 ASCIIToUTF16(kEcmlShipToPostalCode), | |
| 116 string16(), | |
| 117 ASCIIToUTF16("text"), | |
| 118 0, | |
| 119 false), | |
| 120 ASCIIToUTF16("areacode1"))); | |
| 121 list_.push_back( | |
| 122 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | |
| 123 ASCIIToUTF16(kEcmlShipToPhone), | |
| 124 string16(), | |
| 125 ASCIIToUTF16("text"), | |
| 126 0, | |
| 127 false), | |
| 128 ASCIIToUTF16("phone1"))); | |
| 129 AutofillScanner scanner(list_.get()); | |
| 130 field_.reset(Parse(&scanner, false)); | |
| 131 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | |
| 132 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | |
| 133 ASSERT_TRUE( | |
| 134 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | |
| 135 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | |
| 136 ASSERT_TRUE( | |
| 137 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | |
| 138 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | |
| 139 } | |
| 140 | |
| 141 TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlBillTo) { | |
| 142 list_.push_back( | |
| 143 new AutofillField( | |
| 144 webkit_glue::FormField(ASCIIToUTF16("Area Code"), | |
| 145 ASCIIToUTF16(kEcmlBillToPostalCode), | |
| 146 string16(), | |
| 147 ASCIIToUTF16("text"), | |
| 148 0, | |
| 149 false), | |
| 150 ASCIIToUTF16("areacode1"))); | |
| 151 list_.push_back( | |
| 152 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | |
| 153 ASCIIToUTF16(kEcmlBillToPhone), | |
| 154 string16(), | |
| 155 ASCIIToUTF16("text"), | |
| 156 0, | |
| 157 false), | |
| 158 ASCIIToUTF16("phone1"))); | |
| 159 AutofillScanner scanner(list_.get()); | |
| 160 field_.reset(Parse(&scanner, false)); | |
| 161 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | |
| 162 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | |
| 163 ASSERT_TRUE( | |
| 164 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 85 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 165 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 86 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 166 ASSERT_TRUE( | 87 ASSERT_TRUE( |
| 167 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 88 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 168 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 89 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 169 } | 90 } |
| 170 | 91 |
| 171 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { | 92 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { |
| 172 // Phone in format <field> - <field> - <field> could be either | 93 // Phone in format <field> - <field> - <field> could be either |
| 173 // <area code> - <prefix> - <suffix>, or | 94 // <area code> - <prefix> - <suffix>, or |
| (...skipping 26 matching lines...) Expand all Loading... |
| 200 ASCIIToUTF16("suffix1"))); | 121 ASCIIToUTF16("suffix1"))); |
| 201 list_.push_back( | 122 list_.push_back( |
| 202 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("ext.:"), | 123 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("ext.:"), |
| 203 ASCIIToUTF16("dayphone4"), | 124 ASCIIToUTF16("dayphone4"), |
| 204 string16(), | 125 string16(), |
| 205 ASCIIToUTF16("text"), | 126 ASCIIToUTF16("text"), |
| 206 0, | 127 0, |
| 207 false), | 128 false), |
| 208 ASCIIToUTF16("ext1"))); | 129 ASCIIToUTF16("ext1"))); |
| 209 AutofillScanner scanner(list_.get()); | 130 AutofillScanner scanner(list_.get()); |
| 210 field_.reset(Parse(&scanner, false)); | 131 field_.reset(Parse(&scanner)); |
| 211 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 132 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 212 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 133 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 213 ASSERT_TRUE( | 134 ASSERT_TRUE( |
| 214 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 135 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 215 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 136 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 216 ASSERT_TRUE( | 137 ASSERT_TRUE( |
| 217 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); | 138 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); |
| 218 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); | 139 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); |
| 219 ASSERT_TRUE( | 140 ASSERT_TRUE( |
| 220 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); | 141 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 243 ASCIIToUTF16("prefix1"))); | 164 ASCIIToUTF16("prefix1"))); |
| 244 list_.push_back( | 165 list_.push_back( |
| 245 new AutofillField(webkit_glue::FormField(string16(), | 166 new AutofillField(webkit_glue::FormField(string16(), |
| 246 ASCIIToUTF16("suffix"), | 167 ASCIIToUTF16("suffix"), |
| 247 string16(), | 168 string16(), |
| 248 ASCIIToUTF16("text"), | 169 ASCIIToUTF16("text"), |
| 249 0, | 170 0, |
| 250 false), | 171 false), |
| 251 ASCIIToUTF16("suffix1"))); | 172 ASCIIToUTF16("suffix1"))); |
| 252 AutofillScanner scanner(list_.get()); | 173 AutofillScanner scanner(list_.get()); |
| 253 field_.reset(Parse(&scanner, false)); | 174 field_.reset(Parse(&scanner)); |
| 254 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 175 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 255 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 176 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 256 ASSERT_TRUE( | 177 ASSERT_TRUE( |
| 257 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 178 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 258 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 179 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 259 ASSERT_TRUE( | 180 ASSERT_TRUE( |
| 260 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); | 181 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); |
| 261 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); | 182 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); |
| 262 ASSERT_TRUE( | 183 ASSERT_TRUE( |
| 263 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); | 184 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 283 ASCIIToUTF16("phone2"))); | 204 ASCIIToUTF16("phone2"))); |
| 284 list_.push_back( | 205 list_.push_back( |
| 285 new AutofillField(webkit_glue::FormField(string16(), | 206 new AutofillField(webkit_glue::FormField(string16(), |
| 286 ASCIIToUTF16("phone3"), | 207 ASCIIToUTF16("phone3"), |
| 287 string16(), | 208 string16(), |
| 288 ASCIIToUTF16("text"), | 209 ASCIIToUTF16("text"), |
| 289 4, | 210 4, |
| 290 false), | 211 false), |
| 291 ASCIIToUTF16("phone3"))); | 212 ASCIIToUTF16("phone3"))); |
| 292 AutofillScanner scanner(list_.get()); | 213 AutofillScanner scanner(list_.get()); |
| 293 field_.reset(Parse(&scanner, false)); | 214 field_.reset(Parse(&scanner)); |
| 294 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 215 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 295 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 216 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 296 ASSERT_TRUE( | 217 ASSERT_TRUE( |
| 297 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 218 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 298 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("phone1")]); | 219 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("phone1")]); |
| 299 ASSERT_TRUE( | 220 ASSERT_TRUE( |
| 300 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end()); | 221 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end()); |
| 301 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]); | 222 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]); |
| 302 ASSERT_TRUE( | 223 ASSERT_TRUE( |
| 303 field_type_map_.find(ASCIIToUTF16("phone3")) != field_type_map_.end()); | 224 field_type_map_.find(ASCIIToUTF16("phone3")) != field_type_map_.end()); |
| 304 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone3")]); | 225 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone3")]); |
| 305 } | 226 } |
| 306 | 227 |
| 307 TEST_F(PhoneFieldTest, ParseOneLineFax) { | 228 TEST_F(PhoneFieldTest, ParseOneLineFax) { |
| 308 list_.push_back( | 229 list_.push_back( |
| 309 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), | 230 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), |
| 310 ASCIIToUTF16("fax"), | 231 ASCIIToUTF16("fax"), |
| 311 string16(), | 232 string16(), |
| 312 ASCIIToUTF16("text"), | 233 ASCIIToUTF16("text"), |
| 313 0, | 234 0, |
| 314 false), | 235 false), |
| 315 ASCIIToUTF16("fax1"))); | 236 ASCIIToUTF16("fax1"))); |
| 316 AutofillScanner scanner(list_.get()); | 237 AutofillScanner scanner(list_.get()); |
| 317 field_.reset(Parse(&scanner, false)); | 238 field_.reset(Parse(&scanner)); |
| 318 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 239 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 319 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 240 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 320 ASSERT_TRUE( | 241 ASSERT_TRUE( |
| 321 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); | 242 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); |
| 322 EXPECT_EQ(PHONE_FAX_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); | 243 EXPECT_EQ(PHONE_FAX_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); |
| 323 } | 244 } |
| 324 | 245 |
| 325 TEST_F(PhoneFieldTest, ParseTwoLineFax) { | 246 TEST_F(PhoneFieldTest, ParseTwoLineFax) { |
| 326 list_.push_back( | 247 list_.push_back( |
| 327 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), | 248 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), |
| 328 ASCIIToUTF16("area code"), | 249 ASCIIToUTF16("area code"), |
| 329 string16(), | 250 string16(), |
| 330 ASCIIToUTF16("text"), | 251 ASCIIToUTF16("text"), |
| 331 0, | 252 0, |
| 332 false), | 253 false), |
| 333 ASCIIToUTF16("areacode1"))); | 254 ASCIIToUTF16("areacode1"))); |
| 334 list_.push_back( | 255 list_.push_back( |
| 335 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), | 256 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), |
| 336 ASCIIToUTF16("fax"), | 257 ASCIIToUTF16("fax"), |
| 337 string16(), | 258 string16(), |
| 338 ASCIIToUTF16("text"), | 259 ASCIIToUTF16("text"), |
| 339 0, | 260 0, |
| 340 false), | 261 false), |
| 341 ASCIIToUTF16("fax1"))); | 262 ASCIIToUTF16("fax1"))); |
| 342 AutofillScanner scanner(list_.get()); | 263 AutofillScanner scanner(list_.get()); |
| 343 field_.reset(Parse(&scanner, false)); | 264 field_.reset(Parse(&scanner)); |
| 344 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 265 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 345 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 266 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 346 ASSERT_TRUE( | 267 ASSERT_TRUE( |
| 347 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 268 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 348 // It should be FAX, based on the other phone in the group. | 269 // It should be FAX, based on the other phone in the group. |
| 349 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 270 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 350 ASSERT_TRUE( | 271 ASSERT_TRUE( |
| 351 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); | 272 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); |
| 352 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); | 273 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); |
| 353 } | 274 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 371 ASCIIToUTF16("prefix1"))); | 292 ASCIIToUTF16("prefix1"))); |
| 372 list_.push_back( | 293 list_.push_back( |
| 373 new AutofillField(webkit_glue::FormField(string16(), | 294 new AutofillField(webkit_glue::FormField(string16(), |
| 374 ASCIIToUTF16("suffix"), | 295 ASCIIToUTF16("suffix"), |
| 375 string16(), | 296 string16(), |
| 376 ASCIIToUTF16("text"), | 297 ASCIIToUTF16("text"), |
| 377 0, | 298 0, |
| 378 false), | 299 false), |
| 379 ASCIIToUTF16("suffix1"))); | 300 ASCIIToUTF16("suffix1"))); |
| 380 AutofillScanner scanner(list_.get()); | 301 AutofillScanner scanner(list_.get()); |
| 381 field_.reset(Parse(&scanner, false)); | 302 field_.reset(Parse(&scanner)); |
| 382 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 303 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 383 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 304 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 384 ASSERT_TRUE( | 305 ASSERT_TRUE( |
| 385 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 306 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 386 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 307 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 387 ASSERT_TRUE( | 308 ASSERT_TRUE( |
| 388 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); | 309 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); |
| 389 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); | 310 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); |
| 390 ASSERT_TRUE( | 311 ASSERT_TRUE( |
| 391 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); | 312 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 405 ASCIIToUTF16("country"))); | 326 ASCIIToUTF16("country"))); |
| 406 list_.push_back( | 327 list_.push_back( |
| 407 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone Number"), | 328 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone Number"), |
| 408 ASCIIToUTF16("PhoneNumber"), | 329 ASCIIToUTF16("PhoneNumber"), |
| 409 string16(), | 330 string16(), |
| 410 ASCIIToUTF16("text"), | 331 ASCIIToUTF16("text"), |
| 411 10, | 332 10, |
| 412 false), | 333 false), |
| 413 ASCIIToUTF16("phone"))); | 334 ASCIIToUTF16("phone"))); |
| 414 AutofillScanner scanner(list_.get()); | 335 AutofillScanner scanner(list_.get()); |
| 415 field_.reset(Parse(&scanner, false)); | 336 field_.reset(Parse(&scanner)); |
| 416 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 337 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 417 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 338 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 418 ASSERT_TRUE( | 339 ASSERT_TRUE( |
| 419 field_type_map_.find(ASCIIToUTF16("country")) != field_type_map_.end()); | 340 field_type_map_.find(ASCIIToUTF16("country")) != field_type_map_.end()); |
| 420 EXPECT_EQ(PHONE_HOME_COUNTRY_CODE, field_type_map_[ASCIIToUTF16("country")]); | 341 EXPECT_EQ(PHONE_HOME_COUNTRY_CODE, field_type_map_[ASCIIToUTF16("country")]); |
| 421 ASSERT_TRUE( | 342 ASSERT_TRUE( |
| 422 field_type_map_.find(ASCIIToUTF16("phone")) != field_type_map_.end()); | 343 field_type_map_.find(ASCIIToUTF16("phone")) != field_type_map_.end()); |
| 423 EXPECT_EQ(PHONE_HOME_CITY_AND_NUMBER, field_type_map_[ASCIIToUTF16("phone")]); | 344 EXPECT_EQ(PHONE_HOME_CITY_AND_NUMBER, field_type_map_[ASCIIToUTF16("phone")]); |
| 424 } | 345 } |
| OLD | NEW |