| 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" |
| 8 #include "chrome/browser/autofill/autofill_field.h" | 9 #include "chrome/browser/autofill/autofill_field.h" |
| 9 #include "chrome/browser/autofill/autofill_scanner.h" | 10 #include "chrome/browser/autofill/autofill_scanner.h" |
| 10 #include "chrome/browser/autofill/phone_field.h" | 11 #include "chrome/browser/autofill/phone_field.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 12 #include "webkit/glue/form_field.h" | 13 #include "webkit/glue/form_field.h" |
| 13 | 14 |
| 14 namespace { | |
| 15 | |
| 16 class PhoneFieldTest : public testing::Test { | 15 class PhoneFieldTest : public testing::Test { |
| 17 public: | 16 public: |
| 18 PhoneFieldTest() {} | 17 PhoneFieldTest() {} |
| 19 | 18 |
| 20 protected: | 19 protected: |
| 21 ScopedVector<AutofillField> list_; | 20 ScopedVector<AutofillField> list_; |
| 22 scoped_ptr<PhoneField> field_; | 21 scoped_ptr<PhoneField> field_; |
| 23 FieldTypeMap field_type_map_; | 22 FieldTypeMap field_type_map_; |
| 24 std::vector<AutofillField*>::const_iterator iter_; | 23 std::vector<AutofillField*>::const_iterator iter_; |
| 25 | 24 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 45 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 44 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 46 ASCIIToUTF16("phone"), | 45 ASCIIToUTF16("phone"), |
| 47 string16(), | 46 string16(), |
| 48 ASCIIToUTF16("text"), | 47 ASCIIToUTF16("text"), |
| 49 0, | 48 0, |
| 50 false), | 49 false), |
| 51 ASCIIToUTF16("phone1"))); | 50 ASCIIToUTF16("phone1"))); |
| 52 AutofillScanner scanner(list_.get()); | 51 AutofillScanner scanner(list_.get()); |
| 53 field_.reset(PhoneField::Parse(&scanner, false)); | 52 field_.reset(PhoneField::Parse(&scanner, false)); |
| 54 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 53 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 55 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 54 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 56 ASSERT_TRUE( | 55 ASSERT_TRUE( |
| 57 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 56 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 58 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 57 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 59 } | 58 } |
| 60 | 59 |
| 61 TEST_F(PhoneFieldTest, ParseOneLinePhoneEcml) { | 60 TEST_F(PhoneFieldTest, ParseOneLinePhoneEcml) { |
| 62 list_.push_back( | 61 list_.push_back( |
| 63 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 62 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 64 ASCIIToUTF16(kEcmlShipToPhone), | 63 ASCIIToUTF16(kEcmlShipToPhone), |
| 65 string16(), | 64 string16(), |
| 66 ASCIIToUTF16("text"), | 65 ASCIIToUTF16("text"), |
| 67 0, | 66 0, |
| 68 false), | 67 false), |
| 69 ASCIIToUTF16("phone1"))); | 68 ASCIIToUTF16("phone1"))); |
| 70 AutofillScanner scanner(list_.get()); | 69 AutofillScanner scanner(list_.get()); |
| 71 field_.reset(PhoneField::Parse(&scanner, true)); | 70 field_.reset(PhoneField::Parse(&scanner, true)); |
| 72 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 71 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 73 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 72 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 74 ASSERT_TRUE( | 73 ASSERT_TRUE( |
| 75 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 74 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 76 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 75 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 77 } | 76 } |
| 78 | 77 |
| 79 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { | 78 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { |
| 80 list_.push_back( | 79 list_.push_back( |
| 81 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), | 80 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), |
| 82 ASCIIToUTF16("area code"), | 81 ASCIIToUTF16("area code"), |
| 83 string16(), | 82 string16(), |
| 84 ASCIIToUTF16("text"), | 83 ASCIIToUTF16("text"), |
| 85 0, | 84 0, |
| 86 false), | 85 false), |
| 87 ASCIIToUTF16("areacode1"))); | 86 ASCIIToUTF16("areacode1"))); |
| 88 list_.push_back( | 87 list_.push_back( |
| 89 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 88 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 90 ASCIIToUTF16("phone"), | 89 ASCIIToUTF16("phone"), |
| 91 string16(), | 90 string16(), |
| 92 ASCIIToUTF16("text"), | 91 ASCIIToUTF16("text"), |
| 93 0, | 92 0, |
| 94 false), | 93 false), |
| 95 ASCIIToUTF16("phone1"))); | 94 ASCIIToUTF16("phone1"))); |
| 96 AutofillScanner scanner(list_.get()); | 95 AutofillScanner scanner(list_.get()); |
| 97 field_.reset(PhoneField::Parse(&scanner, false)); | 96 field_.reset(PhoneField::Parse(&scanner, false)); |
| 98 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 97 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 99 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 98 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 100 ASSERT_TRUE( | 99 ASSERT_TRUE( |
| 101 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 100 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 102 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 101 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 103 ASSERT_TRUE( | 102 ASSERT_TRUE( |
| 104 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 103 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 105 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 104 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 106 } | 105 } |
| 107 | 106 |
| 108 TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlShipTo) { | 107 TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlShipTo) { |
| 109 list_.push_back( | 108 list_.push_back( |
| 110 new AutofillField( | 109 new AutofillField( |
| 111 webkit_glue::FormField(ASCIIToUTF16("Area Code"), | 110 webkit_glue::FormField(ASCIIToUTF16("Area Code"), |
| 112 ASCIIToUTF16(kEcmlShipToPostalCode), | 111 ASCIIToUTF16(kEcmlShipToPostalCode), |
| 113 string16(), | 112 string16(), |
| 114 ASCIIToUTF16("text"), | 113 ASCIIToUTF16("text"), |
| 115 0, | 114 0, |
| 116 false), | 115 false), |
| 117 ASCIIToUTF16("areacode1"))); | 116 ASCIIToUTF16("areacode1"))); |
| 118 list_.push_back( | 117 list_.push_back( |
| 119 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 118 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 120 ASCIIToUTF16(kEcmlShipToPhone), | 119 ASCIIToUTF16(kEcmlShipToPhone), |
| 121 string16(), | 120 string16(), |
| 122 ASCIIToUTF16("text"), | 121 ASCIIToUTF16("text"), |
| 123 0, | 122 0, |
| 124 false), | 123 false), |
| 125 ASCIIToUTF16("phone1"))); | 124 ASCIIToUTF16("phone1"))); |
| 126 AutofillScanner scanner(list_.get()); | 125 AutofillScanner scanner(list_.get()); |
| 127 field_.reset(PhoneField::Parse(&scanner, false)); | 126 field_.reset(PhoneField::Parse(&scanner, false)); |
| 128 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 127 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 129 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 128 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 130 ASSERT_TRUE( | 129 ASSERT_TRUE( |
| 131 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 130 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 132 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 131 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 133 ASSERT_TRUE( | 132 ASSERT_TRUE( |
| 134 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 133 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 135 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 134 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 136 } | 135 } |
| 137 | 136 |
| 138 TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlBillTo) { | 137 TEST_F(PhoneFieldTest, ParseTwoLinePhoneEcmlBillTo) { |
| 139 list_.push_back( | 138 list_.push_back( |
| 140 new AutofillField( | 139 new AutofillField( |
| 141 webkit_glue::FormField(ASCIIToUTF16("Area Code"), | 140 webkit_glue::FormField(ASCIIToUTF16("Area Code"), |
| 142 ASCIIToUTF16(kEcmlBillToPostalCode), | 141 ASCIIToUTF16(kEcmlBillToPostalCode), |
| 143 string16(), | 142 string16(), |
| 144 ASCIIToUTF16("text"), | 143 ASCIIToUTF16("text"), |
| 145 0, | 144 0, |
| 146 false), | 145 false), |
| 147 ASCIIToUTF16("areacode1"))); | 146 ASCIIToUTF16("areacode1"))); |
| 148 list_.push_back( | 147 list_.push_back( |
| 149 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), | 148 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), |
| 150 ASCIIToUTF16(kEcmlBillToPhone), | 149 ASCIIToUTF16(kEcmlBillToPhone), |
| 151 string16(), | 150 string16(), |
| 152 ASCIIToUTF16("text"), | 151 ASCIIToUTF16("text"), |
| 153 0, | 152 0, |
| 154 false), | 153 false), |
| 155 ASCIIToUTF16("phone1"))); | 154 ASCIIToUTF16("phone1"))); |
| 156 AutofillScanner scanner(list_.get()); | 155 AutofillScanner scanner(list_.get()); |
| 157 field_.reset(PhoneField::Parse(&scanner, false)); | 156 field_.reset(PhoneField::Parse(&scanner, false)); |
| 158 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 157 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 159 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 158 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 160 ASSERT_TRUE( | 159 ASSERT_TRUE( |
| 161 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 160 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 162 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 161 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 163 ASSERT_TRUE( | 162 ASSERT_TRUE( |
| 164 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); | 163 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); |
| 165 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); | 164 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); |
| 166 } | 165 } |
| 167 | 166 |
| 168 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { | 167 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { |
| 169 // Phone in format <field> - <field> - <field> could be either | 168 // Phone in format <field> - <field> - <field> could be either |
| (...skipping 29 matching lines...) Expand all Loading... |
| 199 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("ext.:"), | 198 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("ext.:"), |
| 200 ASCIIToUTF16("dayphone4"), | 199 ASCIIToUTF16("dayphone4"), |
| 201 string16(), | 200 string16(), |
| 202 ASCIIToUTF16("text"), | 201 ASCIIToUTF16("text"), |
| 203 0, | 202 0, |
| 204 false), | 203 false), |
| 205 ASCIIToUTF16("ext1"))); | 204 ASCIIToUTF16("ext1"))); |
| 206 AutofillScanner scanner(list_.get()); | 205 AutofillScanner scanner(list_.get()); |
| 207 field_.reset(PhoneField::Parse(&scanner, false)); | 206 field_.reset(PhoneField::Parse(&scanner, false)); |
| 208 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 207 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 209 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 208 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 210 ASSERT_TRUE( | 209 ASSERT_TRUE( |
| 211 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 210 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 212 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 211 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 213 ASSERT_TRUE( | 212 ASSERT_TRUE( |
| 214 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); | 213 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); |
| 215 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); | 214 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); |
| 216 ASSERT_TRUE( | 215 ASSERT_TRUE( |
| 217 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); | 216 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); |
| 218 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); | 217 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); |
| 219 } | 218 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 242 new AutofillField(webkit_glue::FormField(string16(), | 241 new AutofillField(webkit_glue::FormField(string16(), |
| 243 ASCIIToUTF16("suffix"), | 242 ASCIIToUTF16("suffix"), |
| 244 string16(), | 243 string16(), |
| 245 ASCIIToUTF16("text"), | 244 ASCIIToUTF16("text"), |
| 246 0, | 245 0, |
| 247 false), | 246 false), |
| 248 ASCIIToUTF16("suffix1"))); | 247 ASCIIToUTF16("suffix1"))); |
| 249 AutofillScanner scanner(list_.get()); | 248 AutofillScanner scanner(list_.get()); |
| 250 field_.reset(PhoneField::Parse(&scanner, false)); | 249 field_.reset(PhoneField::Parse(&scanner, false)); |
| 251 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 250 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 252 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 251 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 253 ASSERT_TRUE( | 252 ASSERT_TRUE( |
| 254 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 253 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 255 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 254 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 256 ASSERT_TRUE( | 255 ASSERT_TRUE( |
| 257 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); | 256 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); |
| 258 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); | 257 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); |
| 259 ASSERT_TRUE( | 258 ASSERT_TRUE( |
| 260 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); | 259 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); |
| 261 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); | 260 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); |
| 262 } | 261 } |
| 263 | 262 |
| 264 TEST_F(PhoneFieldTest, ParseOneLineFax) { | 263 TEST_F(PhoneFieldTest, ParseOneLineFax) { |
| 265 list_.push_back( | 264 list_.push_back( |
| 266 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), | 265 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), |
| 267 ASCIIToUTF16("fax"), | 266 ASCIIToUTF16("fax"), |
| 268 string16(), | 267 string16(), |
| 269 ASCIIToUTF16("text"), | 268 ASCIIToUTF16("text"), |
| 270 0, | 269 0, |
| 271 false), | 270 false), |
| 272 ASCIIToUTF16("fax1"))); | 271 ASCIIToUTF16("fax1"))); |
| 273 AutofillScanner scanner(list_.get()); | 272 AutofillScanner scanner(list_.get()); |
| 274 field_.reset(PhoneField::Parse(&scanner, false)); | 273 field_.reset(PhoneField::Parse(&scanner, false)); |
| 275 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 274 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 276 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 275 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 277 ASSERT_TRUE( | 276 ASSERT_TRUE( |
| 278 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); | 277 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); |
| 279 EXPECT_EQ(PHONE_FAX_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); | 278 EXPECT_EQ(PHONE_FAX_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); |
| 280 } | 279 } |
| 281 | 280 |
| 282 TEST_F(PhoneFieldTest, ParseTwoLineFax) { | 281 TEST_F(PhoneFieldTest, ParseTwoLineFax) { |
| 283 list_.push_back( | 282 list_.push_back( |
| 284 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), | 283 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), |
| 285 ASCIIToUTF16("area code"), | 284 ASCIIToUTF16("area code"), |
| 286 string16(), | 285 string16(), |
| 287 ASCIIToUTF16("text"), | 286 ASCIIToUTF16("text"), |
| 288 0, | 287 0, |
| 289 false), | 288 false), |
| 290 ASCIIToUTF16("areacode1"))); | 289 ASCIIToUTF16("areacode1"))); |
| 291 list_.push_back( | 290 list_.push_back( |
| 292 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), | 291 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), |
| 293 ASCIIToUTF16("fax"), | 292 ASCIIToUTF16("fax"), |
| 294 string16(), | 293 string16(), |
| 295 ASCIIToUTF16("text"), | 294 ASCIIToUTF16("text"), |
| 296 0, | 295 0, |
| 297 false), | 296 false), |
| 298 ASCIIToUTF16("fax1"))); | 297 ASCIIToUTF16("fax1"))); |
| 299 AutofillScanner scanner(list_.get()); | 298 AutofillScanner scanner(list_.get()); |
| 300 field_.reset(PhoneField::Parse(&scanner, false)); | 299 field_.reset(PhoneField::Parse(&scanner, false)); |
| 301 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 300 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 302 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 301 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 303 ASSERT_TRUE( | 302 ASSERT_TRUE( |
| 304 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 303 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 305 // It should be FAX, based on the other phone in the group. | 304 // It should be FAX, based on the other phone in the group. |
| 306 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 305 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 307 ASSERT_TRUE( | 306 ASSERT_TRUE( |
| 308 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); | 307 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); |
| 309 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); | 308 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); |
| 310 } | 309 } |
| 311 | 310 |
| 312 TEST_F(PhoneFieldTest, ThreePartFaxNumberPrefixSuffix) { | 311 TEST_F(PhoneFieldTest, ThreePartFaxNumberPrefixSuffix) { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 330 new AutofillField(webkit_glue::FormField(string16(), | 329 new AutofillField(webkit_glue::FormField(string16(), |
| 331 ASCIIToUTF16("suffix"), | 330 ASCIIToUTF16("suffix"), |
| 332 string16(), | 331 string16(), |
| 333 ASCIIToUTF16("text"), | 332 ASCIIToUTF16("text"), |
| 334 0, | 333 0, |
| 335 false), | 334 false), |
| 336 ASCIIToUTF16("suffix1"))); | 335 ASCIIToUTF16("suffix1"))); |
| 337 AutofillScanner scanner(list_.get()); | 336 AutofillScanner scanner(list_.get()); |
| 338 field_.reset(PhoneField::Parse(&scanner, false)); | 337 field_.reset(PhoneField::Parse(&scanner, false)); |
| 339 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); | 338 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); |
| 340 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | 339 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 341 ASSERT_TRUE( | 340 ASSERT_TRUE( |
| 342 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); | 341 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); |
| 343 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); | 342 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); |
| 344 ASSERT_TRUE( | 343 ASSERT_TRUE( |
| 345 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); | 344 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); |
| 346 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); | 345 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); |
| 347 ASSERT_TRUE( | 346 ASSERT_TRUE( |
| 348 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); | 347 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); |
| 349 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); | 348 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); |
| 350 } | 349 } |
| 351 | |
| 352 } // namespace | |
| OLD | NEW |