| 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/address_field.h" | 9 #include "chrome/browser/autofill/address_field.h" |
| 9 #include "chrome/browser/autofill/autofill_field.h" | 10 #include "chrome/browser/autofill/autofill_field.h" |
| 10 #include "chrome/browser/autofill/autofill_scanner.h" | 11 #include "chrome/browser/autofill/autofill_scanner.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 AddressFieldTest : public testing::Test { | 15 class AddressFieldTest : public testing::Test { |
| 17 public: | 16 public: |
| 18 AddressFieldTest() {} | 17 AddressFieldTest() {} |
| 19 | 18 |
| 20 protected: | 19 protected: |
| 21 ScopedVector<AutofillField> list_; | 20 ScopedVector<AutofillField> list_; |
| 22 scoped_ptr<AddressField> field_; | 21 scoped_ptr<AddressField> 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 20 matching lines...) Expand all Loading... |
| 46 ASCIIToUTF16("address"), | 45 ASCIIToUTF16("address"), |
| 47 string16(), | 46 string16(), |
| 48 ASCIIToUTF16("text"), | 47 ASCIIToUTF16("text"), |
| 49 0, | 48 0, |
| 50 false), | 49 false), |
| 51 ASCIIToUTF16("addr1"))); | 50 ASCIIToUTF16("addr1"))); |
| 52 AutofillScanner scanner(list_.get()); | 51 AutofillScanner scanner(list_.get()); |
| 53 field_.reset(AddressField::Parse(&scanner, false)); | 52 field_.reset(AddressField::Parse(&scanner, false)); |
| 54 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 53 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 55 EXPECT_EQ(kGenericAddress, field_->FindType()); | 54 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 56 EXPECT_TRUE(field_->IsFullAddress()); | 55 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 57 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 58 ASSERT_TRUE( | 56 ASSERT_TRUE( |
| 59 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 57 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 60 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 58 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 61 } | 59 } |
| 62 | 60 |
| 63 TEST_F(AddressFieldTest, ParseOneLineAddressBilling) { | 61 TEST_F(AddressFieldTest, ParseOneLineAddressBilling) { |
| 64 list_.push_back( | 62 list_.push_back( |
| 65 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 63 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 66 ASCIIToUTF16("billingAddress"), | 64 ASCIIToUTF16("billingAddress"), |
| 67 string16(), | 65 string16(), |
| 68 ASCIIToUTF16("text"), | 66 ASCIIToUTF16("text"), |
| 69 0, | 67 0, |
| 70 false), | 68 false), |
| 71 ASCIIToUTF16("addr1"))); | 69 ASCIIToUTF16("addr1"))); |
| 72 AutofillScanner scanner(list_.get()); | 70 AutofillScanner scanner(list_.get()); |
| 73 field_.reset(AddressField::Parse(&scanner, false)); | 71 field_.reset(AddressField::Parse(&scanner, false)); |
| 74 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 72 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 75 EXPECT_EQ(kBillingAddress, field_->FindType()); | 73 EXPECT_EQ(kBillingAddress, field_->FindType()); |
| 76 EXPECT_TRUE(field_->IsFullAddress()); | 74 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 77 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 78 ASSERT_TRUE( | 75 ASSERT_TRUE( |
| 79 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 76 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 80 EXPECT_EQ(ADDRESS_BILLING_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 77 EXPECT_EQ(ADDRESS_BILLING_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 81 } | 78 } |
| 82 | 79 |
| 83 TEST_F(AddressFieldTest, ParseOneLineAddressShipping) { | 80 TEST_F(AddressFieldTest, ParseOneLineAddressShipping) { |
| 84 list_.push_back( | 81 list_.push_back( |
| 85 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 82 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 86 ASCIIToUTF16("shippingAddress"), | 83 ASCIIToUTF16("shippingAddress"), |
| 87 string16(), | 84 string16(), |
| 88 ASCIIToUTF16("text"), | 85 ASCIIToUTF16("text"), |
| 89 0, | 86 0, |
| 90 false), | 87 false), |
| 91 ASCIIToUTF16("addr1"))); | 88 ASCIIToUTF16("addr1"))); |
| 92 AutofillScanner scanner(list_.get()); | 89 AutofillScanner scanner(list_.get()); |
| 93 field_.reset(AddressField::Parse(&scanner, false)); | 90 field_.reset(AddressField::Parse(&scanner, false)); |
| 94 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 91 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 95 EXPECT_EQ(kShippingAddress, field_->FindType()); | 92 EXPECT_EQ(kShippingAddress, field_->FindType()); |
| 96 EXPECT_TRUE(field_->IsFullAddress()); | 93 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 97 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 98 ASSERT_TRUE( | 94 ASSERT_TRUE( |
| 99 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 95 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 100 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 96 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 101 } | 97 } |
| 102 | 98 |
| 103 TEST_F(AddressFieldTest, ParseOneLineAddressEcml) { | 99 TEST_F(AddressFieldTest, ParseOneLineAddressEcml) { |
| 104 list_.push_back( | 100 list_.push_back( |
| 105 new AutofillField( | 101 new AutofillField( |
| 106 webkit_glue::FormField(ASCIIToUTF16("Address"), | 102 webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 107 ASCIIToUTF16(kEcmlShipToAddress1), | 103 ASCIIToUTF16(kEcmlShipToAddress1), |
| 108 string16(), | 104 string16(), |
| 109 ASCIIToUTF16("text"), | 105 ASCIIToUTF16("text"), |
| 110 0, | 106 0, |
| 111 false), | 107 false), |
| 112 ASCIIToUTF16("addr1"))); | 108 ASCIIToUTF16("addr1"))); |
| 113 AutofillScanner scanner(list_.get()); | 109 AutofillScanner scanner(list_.get()); |
| 114 field_.reset(AddressField::Parse(&scanner, true)); | 110 field_.reset(AddressField::Parse(&scanner, true)); |
| 115 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 111 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 116 EXPECT_EQ(kShippingAddress, field_->FindType()); | 112 EXPECT_EQ(kShippingAddress, field_->FindType()); |
| 117 EXPECT_TRUE(field_->IsFullAddress()); | 113 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 118 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 119 ASSERT_TRUE( | 114 ASSERT_TRUE( |
| 120 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 115 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 121 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 116 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 122 } | 117 } |
| 123 | 118 |
| 124 TEST_F(AddressFieldTest, ParseTwoLineAddress) { | 119 TEST_F(AddressFieldTest, ParseTwoLineAddress) { |
| 125 list_.push_back( | 120 list_.push_back( |
| 126 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 121 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 127 ASCIIToUTF16("address"), | 122 ASCIIToUTF16("address"), |
| 128 string16(), | 123 string16(), |
| 129 ASCIIToUTF16("text"), | 124 ASCIIToUTF16("text"), |
| 130 0, | 125 0, |
| 131 false), | 126 false), |
| 132 ASCIIToUTF16("addr1"))); | 127 ASCIIToUTF16("addr1"))); |
| 133 list_.push_back( | 128 list_.push_back( |
| 134 new AutofillField(webkit_glue::FormField(string16(), | 129 new AutofillField(webkit_glue::FormField(string16(), |
| 135 string16(), | 130 string16(), |
| 136 string16(), | 131 string16(), |
| 137 ASCIIToUTF16("text"), | 132 ASCIIToUTF16("text"), |
| 138 0, | 133 0, |
| 139 false), | 134 false), |
| 140 ASCIIToUTF16("addr2"))); | 135 ASCIIToUTF16("addr2"))); |
| 141 AutofillScanner scanner(list_.get()); | 136 AutofillScanner scanner(list_.get()); |
| 142 field_.reset(AddressField::Parse(&scanner, false)); | 137 field_.reset(AddressField::Parse(&scanner, false)); |
| 143 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 138 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 144 EXPECT_EQ(kGenericAddress, field_->FindType()); | 139 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 145 EXPECT_TRUE(field_->IsFullAddress()); | 140 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 146 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 147 ASSERT_TRUE( | 141 ASSERT_TRUE( |
| 148 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 142 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 149 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 143 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 150 ASSERT_TRUE( | 144 ASSERT_TRUE( |
| 151 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 145 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 152 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 146 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 153 } | 147 } |
| 154 | 148 |
| 155 TEST_F(AddressFieldTest, ParseThreeLineAddress) { | 149 TEST_F(AddressFieldTest, ParseThreeLineAddress) { |
| 156 list_.push_back( | 150 list_.push_back( |
| (...skipping 17 matching lines...) Expand all Loading... |
| 174 ASCIIToUTF16("Address"), | 168 ASCIIToUTF16("Address"), |
| 175 string16(), | 169 string16(), |
| 176 ASCIIToUTF16("text"), | 170 ASCIIToUTF16("text"), |
| 177 0, | 171 0, |
| 178 false), | 172 false), |
| 179 ASCIIToUTF16("addr3"))); | 173 ASCIIToUTF16("addr3"))); |
| 180 AutofillScanner scanner(list_.get()); | 174 AutofillScanner scanner(list_.get()); |
| 181 field_.reset(AddressField::Parse(&scanner, false)); | 175 field_.reset(AddressField::Parse(&scanner, false)); |
| 182 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 176 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 183 EXPECT_EQ(kGenericAddress, field_->FindType()); | 177 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 184 EXPECT_TRUE(field_->IsFullAddress()); | 178 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 185 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 186 ASSERT_TRUE( | 179 ASSERT_TRUE( |
| 187 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 180 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 188 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 181 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 189 ASSERT_TRUE( | 182 ASSERT_TRUE( |
| 190 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 183 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 191 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 184 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 192 ASSERT_TRUE( | 185 ASSERT_TRUE( |
| 193 field_type_map_.find(ASCIIToUTF16("addr3")) == field_type_map_.end()); | 186 field_type_map_.find(ASCIIToUTF16("addr3")) == field_type_map_.end()); |
| 194 } | 187 } |
| 195 | 188 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 209 ASCIIToUTF16(kEcmlShipToAddress2), | 202 ASCIIToUTF16(kEcmlShipToAddress2), |
| 210 string16(), | 203 string16(), |
| 211 ASCIIToUTF16("text"), | 204 ASCIIToUTF16("text"), |
| 212 0, | 205 0, |
| 213 false), | 206 false), |
| 214 ASCIIToUTF16("addr2"))); | 207 ASCIIToUTF16("addr2"))); |
| 215 AutofillScanner scanner(list_.get()); | 208 AutofillScanner scanner(list_.get()); |
| 216 field_.reset(AddressField::Parse(&scanner, true)); | 209 field_.reset(AddressField::Parse(&scanner, true)); |
| 217 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 210 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 218 EXPECT_EQ(kShippingAddress, field_->FindType()); | 211 EXPECT_EQ(kShippingAddress, field_->FindType()); |
| 219 EXPECT_TRUE(field_->IsFullAddress()); | 212 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 220 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 221 ASSERT_TRUE( | 213 ASSERT_TRUE( |
| 222 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 214 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 223 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 215 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 224 ASSERT_TRUE( | 216 ASSERT_TRUE( |
| 225 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 217 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 226 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 218 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 227 } | 219 } |
| 228 | 220 |
| 229 TEST_F(AddressFieldTest, ParseCity) { | 221 TEST_F(AddressFieldTest, ParseCity) { |
| 230 list_.push_back( | 222 list_.push_back( |
| 231 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("City"), | 223 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("City"), |
| 232 ASCIIToUTF16("city"), | 224 ASCIIToUTF16("city"), |
| 233 string16(), | 225 string16(), |
| 234 ASCIIToUTF16("text"), | 226 ASCIIToUTF16("text"), |
| 235 0, | 227 0, |
| 236 false), | 228 false), |
| 237 ASCIIToUTF16("city1"))); | 229 ASCIIToUTF16("city1"))); |
| 238 AutofillScanner scanner(list_.get()); | 230 AutofillScanner scanner(list_.get()); |
| 239 field_.reset(AddressField::Parse(&scanner, false)); | 231 field_.reset(AddressField::Parse(&scanner, false)); |
| 240 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 232 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 241 EXPECT_EQ(kGenericAddress, field_->FindType()); | 233 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 242 EXPECT_FALSE(field_->IsFullAddress()); | 234 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 243 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 244 ASSERT_TRUE( | 235 ASSERT_TRUE( |
| 245 field_type_map_.find(ASCIIToUTF16("city1")) != field_type_map_.end()); | 236 field_type_map_.find(ASCIIToUTF16("city1")) != field_type_map_.end()); |
| 246 EXPECT_EQ(ADDRESS_HOME_CITY, field_type_map_[ASCIIToUTF16("city1")]); | 237 EXPECT_EQ(ADDRESS_HOME_CITY, field_type_map_[ASCIIToUTF16("city1")]); |
| 247 } | 238 } |
| 248 | 239 |
| 249 TEST_F(AddressFieldTest, ParseCityEcml) { | 240 TEST_F(AddressFieldTest, ParseCityEcml) { |
| 250 list_.push_back( | 241 list_.push_back( |
| 251 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("City"), | 242 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("City"), |
| 252 ASCIIToUTF16(kEcmlShipToCity), | 243 ASCIIToUTF16(kEcmlShipToCity), |
| 253 string16(), | 244 string16(), |
| 254 ASCIIToUTF16("text"), | 245 ASCIIToUTF16("text"), |
| 255 0, | 246 0, |
| 256 false), | 247 false), |
| 257 ASCIIToUTF16("city1"))); | 248 ASCIIToUTF16("city1"))); |
| 258 AutofillScanner scanner(list_.get()); | 249 AutofillScanner scanner(list_.get()); |
| 259 field_.reset(AddressField::Parse(&scanner, true)); | 250 field_.reset(AddressField::Parse(&scanner, true)); |
| 260 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 251 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 261 EXPECT_EQ(kGenericAddress, field_->FindType()); | 252 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 262 EXPECT_FALSE(field_->IsFullAddress()); | 253 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 263 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 264 ASSERT_TRUE( | 254 ASSERT_TRUE( |
| 265 field_type_map_.find(ASCIIToUTF16("city1")) != field_type_map_.end()); | 255 field_type_map_.find(ASCIIToUTF16("city1")) != field_type_map_.end()); |
| 266 EXPECT_EQ(ADDRESS_HOME_CITY, field_type_map_[ASCIIToUTF16("city1")]); | 256 EXPECT_EQ(ADDRESS_HOME_CITY, field_type_map_[ASCIIToUTF16("city1")]); |
| 267 } | 257 } |
| 268 | 258 |
| 269 TEST_F(AddressFieldTest, ParseState) { | 259 TEST_F(AddressFieldTest, ParseState) { |
| 270 list_.push_back( | 260 list_.push_back( |
| 271 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("State"), | 261 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("State"), |
| 272 ASCIIToUTF16("state"), | 262 ASCIIToUTF16("state"), |
| 273 string16(), | 263 string16(), |
| 274 ASCIIToUTF16("text"), | 264 ASCIIToUTF16("text"), |
| 275 0, | 265 0, |
| 276 false), | 266 false), |
| 277 ASCIIToUTF16("state1"))); | 267 ASCIIToUTF16("state1"))); |
| 278 AutofillScanner scanner(list_.get()); | 268 AutofillScanner scanner(list_.get()); |
| 279 field_.reset(AddressField::Parse(&scanner, false)); | 269 field_.reset(AddressField::Parse(&scanner, false)); |
| 280 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 270 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 281 EXPECT_EQ(kGenericAddress, field_->FindType()); | 271 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 282 EXPECT_FALSE(field_->IsFullAddress()); | 272 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 283 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 284 ASSERT_TRUE( | 273 ASSERT_TRUE( |
| 285 field_type_map_.find(ASCIIToUTF16("state1")) != field_type_map_.end()); | 274 field_type_map_.find(ASCIIToUTF16("state1")) != field_type_map_.end()); |
| 286 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state1")]); | 275 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state1")]); |
| 287 } | 276 } |
| 288 | 277 |
| 289 TEST_F(AddressFieldTest, ParseStateEcml) { | 278 TEST_F(AddressFieldTest, ParseStateEcml) { |
| 290 list_.push_back( | 279 list_.push_back( |
| 291 new AutofillField( | 280 new AutofillField( |
| 292 webkit_glue::FormField(ASCIIToUTF16("State"), | 281 webkit_glue::FormField(ASCIIToUTF16("State"), |
| 293 ASCIIToUTF16(kEcmlShipToStateProv), | 282 ASCIIToUTF16(kEcmlShipToStateProv), |
| 294 string16(), | 283 string16(), |
| 295 ASCIIToUTF16("text"), | 284 ASCIIToUTF16("text"), |
| 296 0, | 285 0, |
| 297 false), | 286 false), |
| 298 ASCIIToUTF16("state1"))); | 287 ASCIIToUTF16("state1"))); |
| 299 AutofillScanner scanner(list_.get()); | 288 AutofillScanner scanner(list_.get()); |
| 300 field_.reset(AddressField::Parse(&scanner, true)); | 289 field_.reset(AddressField::Parse(&scanner, true)); |
| 301 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 290 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 302 EXPECT_EQ(kGenericAddress, field_->FindType()); | 291 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 303 EXPECT_FALSE(field_->IsFullAddress()); | 292 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 304 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 305 ASSERT_TRUE( | 293 ASSERT_TRUE( |
| 306 field_type_map_.find(ASCIIToUTF16("state1")) != field_type_map_.end()); | 294 field_type_map_.find(ASCIIToUTF16("state1")) != field_type_map_.end()); |
| 307 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state1")]); | 295 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state1")]); |
| 308 } | 296 } |
| 309 | 297 |
| 310 TEST_F(AddressFieldTest, ParseZip) { | 298 TEST_F(AddressFieldTest, ParseZip) { |
| 311 list_.push_back( | 299 list_.push_back( |
| 312 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Zip"), | 300 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Zip"), |
| 313 ASCIIToUTF16("zip"), | 301 ASCIIToUTF16("zip"), |
| 314 string16(), | 302 string16(), |
| 315 ASCIIToUTF16("text"), | 303 ASCIIToUTF16("text"), |
| 316 0, | 304 0, |
| 317 false), | 305 false), |
| 318 ASCIIToUTF16("zip1"))); | 306 ASCIIToUTF16("zip1"))); |
| 319 AutofillScanner scanner(list_.get()); | 307 AutofillScanner scanner(list_.get()); |
| 320 field_.reset(AddressField::Parse(&scanner, false)); | 308 field_.reset(AddressField::Parse(&scanner, false)); |
| 321 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 309 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 322 EXPECT_EQ(kGenericAddress, field_->FindType()); | 310 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 323 EXPECT_FALSE(field_->IsFullAddress()); | 311 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 324 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 325 ASSERT_TRUE( | 312 ASSERT_TRUE( |
| 326 field_type_map_.find(ASCIIToUTF16("zip1")) != field_type_map_.end()); | 313 field_type_map_.find(ASCIIToUTF16("zip1")) != field_type_map_.end()); |
| 327 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip1")]); | 314 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip1")]); |
| 328 } | 315 } |
| 329 | 316 |
| 330 TEST_F(AddressFieldTest, ParseZipEcml) { | 317 TEST_F(AddressFieldTest, ParseZipEcml) { |
| 331 list_.push_back( | 318 list_.push_back( |
| 332 new AutofillField( | 319 new AutofillField( |
| 333 webkit_glue::FormField(ASCIIToUTF16("Zip"), | 320 webkit_glue::FormField(ASCIIToUTF16("Zip"), |
| 334 ASCIIToUTF16(kEcmlShipToPostalCode), | 321 ASCIIToUTF16(kEcmlShipToPostalCode), |
| 335 string16(), | 322 string16(), |
| 336 ASCIIToUTF16("text"), | 323 ASCIIToUTF16("text"), |
| 337 0, | 324 0, |
| 338 false), | 325 false), |
| 339 ASCIIToUTF16("zip1"))); | 326 ASCIIToUTF16("zip1"))); |
| 340 AutofillScanner scanner(list_.get()); | 327 AutofillScanner scanner(list_.get()); |
| 341 field_.reset(AddressField::Parse(&scanner, true)); | 328 field_.reset(AddressField::Parse(&scanner, true)); |
| 342 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 329 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 343 EXPECT_EQ(kGenericAddress, field_->FindType()); | 330 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 344 EXPECT_FALSE(field_->IsFullAddress()); | 331 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 345 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 346 ASSERT_TRUE( | 332 ASSERT_TRUE( |
| 347 field_type_map_.find(ASCIIToUTF16("zip1")) != field_type_map_.end()); | 333 field_type_map_.find(ASCIIToUTF16("zip1")) != field_type_map_.end()); |
| 348 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip1")]); | 334 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip1")]); |
| 349 } | 335 } |
| 350 | 336 |
| 351 TEST_F(AddressFieldTest, ParseStateAndZipOneLabel) { | 337 TEST_F(AddressFieldTest, ParseStateAndZipOneLabel) { |
| 352 list_.push_back( | 338 list_.push_back( |
| 353 new AutofillField( | 339 new AutofillField( |
| 354 webkit_glue::FormField( | 340 webkit_glue::FormField( |
| 355 ASCIIToUTF16("State/Province, Zip/Postal Code"), | 341 ASCIIToUTF16("State/Province, Zip/Postal Code"), |
| (...skipping 10 matching lines...) Expand all Loading... |
| 366 ASCIIToUTF16("zip"), | 352 ASCIIToUTF16("zip"), |
| 367 string16(), | 353 string16(), |
| 368 ASCIIToUTF16("text"), | 354 ASCIIToUTF16("text"), |
| 369 0, | 355 0, |
| 370 false), | 356 false), |
| 371 ASCIIToUTF16("zip"))); | 357 ASCIIToUTF16("zip"))); |
| 372 AutofillScanner scanner(list_.get()); | 358 AutofillScanner scanner(list_.get()); |
| 373 field_.reset(AddressField::Parse(&scanner, false)); | 359 field_.reset(AddressField::Parse(&scanner, false)); |
| 374 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 360 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 375 EXPECT_EQ(kGenericAddress, field_->FindType()); | 361 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 376 EXPECT_FALSE(field_->IsFullAddress()); | 362 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 377 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 378 ASSERT_TRUE( | 363 ASSERT_TRUE( |
| 379 field_type_map_.find(ASCIIToUTF16("state")) != field_type_map_.end()); | 364 field_type_map_.find(ASCIIToUTF16("state")) != field_type_map_.end()); |
| 380 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state")]); | 365 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state")]); |
| 381 ASSERT_TRUE( | 366 ASSERT_TRUE( |
| 382 field_type_map_.find(ASCIIToUTF16("zip")) != field_type_map_.end()); | 367 field_type_map_.find(ASCIIToUTF16("zip")) != field_type_map_.end()); |
| 383 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip")]); | 368 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip")]); |
| 384 } | 369 } |
| 385 | 370 |
| 386 TEST_F(AddressFieldTest, ParseCountry) { | 371 TEST_F(AddressFieldTest, ParseCountry) { |
| 387 list_.push_back( | 372 list_.push_back( |
| 388 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Country"), | 373 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Country"), |
| 389 ASCIIToUTF16("country"), | 374 ASCIIToUTF16("country"), |
| 390 string16(), | 375 string16(), |
| 391 ASCIIToUTF16("text"), | 376 ASCIIToUTF16("text"), |
| 392 0, | 377 0, |
| 393 false), | 378 false), |
| 394 ASCIIToUTF16("country1"))); | 379 ASCIIToUTF16("country1"))); |
| 395 AutofillScanner scanner(list_.get()); | 380 AutofillScanner scanner(list_.get()); |
| 396 field_.reset(AddressField::Parse(&scanner, false)); | 381 field_.reset(AddressField::Parse(&scanner, false)); |
| 397 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 382 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 398 EXPECT_EQ(kGenericAddress, field_->FindType()); | 383 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 399 EXPECT_FALSE(field_->IsFullAddress()); | 384 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 400 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 401 ASSERT_TRUE( | 385 ASSERT_TRUE( |
| 402 field_type_map_.find(ASCIIToUTF16("country1")) != field_type_map_.end()); | 386 field_type_map_.find(ASCIIToUTF16("country1")) != field_type_map_.end()); |
| 403 EXPECT_EQ(ADDRESS_HOME_COUNTRY, field_type_map_[ASCIIToUTF16("country1")]); | 387 EXPECT_EQ(ADDRESS_HOME_COUNTRY, field_type_map_[ASCIIToUTF16("country1")]); |
| 404 } | 388 } |
| 405 | 389 |
| 406 TEST_F(AddressFieldTest, ParseCountryEcml) { | 390 TEST_F(AddressFieldTest, ParseCountryEcml) { |
| 407 list_.push_back( | 391 list_.push_back( |
| 408 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Country"), | 392 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Country"), |
| 409 ASCIIToUTF16(kEcmlShipToCountry), | 393 ASCIIToUTF16(kEcmlShipToCountry), |
| 410 string16(), | 394 string16(), |
| 411 ASCIIToUTF16("text"), | 395 ASCIIToUTF16("text"), |
| 412 0, | 396 0, |
| 413 false), | 397 false), |
| 414 ASCIIToUTF16("country1"))); | 398 ASCIIToUTF16("country1"))); |
| 415 AutofillScanner scanner(list_.get()); | 399 AutofillScanner scanner(list_.get()); |
| 416 field_.reset(AddressField::Parse(&scanner, true)); | 400 field_.reset(AddressField::Parse(&scanner, true)); |
| 417 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 401 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 418 EXPECT_EQ(kGenericAddress, field_->FindType()); | 402 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 419 EXPECT_FALSE(field_->IsFullAddress()); | 403 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 420 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 421 ASSERT_TRUE( | 404 ASSERT_TRUE( |
| 422 field_type_map_.find(ASCIIToUTF16("country1")) != field_type_map_.end()); | 405 field_type_map_.find(ASCIIToUTF16("country1")) != field_type_map_.end()); |
| 423 EXPECT_EQ(ADDRESS_HOME_COUNTRY, field_type_map_[ASCIIToUTF16("country1")]); | 406 EXPECT_EQ(ADDRESS_HOME_COUNTRY, field_type_map_[ASCIIToUTF16("country1")]); |
| 424 } | 407 } |
| 425 | 408 |
| 426 TEST_F(AddressFieldTest, ParseTwoLineAddressMissingLabel) { | 409 TEST_F(AddressFieldTest, ParseTwoLineAddressMissingLabel) { |
| 427 list_.push_back( | 410 list_.push_back( |
| 428 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 411 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), |
| 429 ASCIIToUTF16("address"), | 412 ASCIIToUTF16("address"), |
| 430 string16(), | 413 string16(), |
| 431 ASCIIToUTF16("text"), | 414 ASCIIToUTF16("text"), |
| 432 0, | 415 0, |
| 433 false), | 416 false), |
| 434 ASCIIToUTF16("addr1"))); | 417 ASCIIToUTF16("addr1"))); |
| 435 list_.push_back( | 418 list_.push_back( |
| 436 new AutofillField(webkit_glue::FormField(string16(), | 419 new AutofillField(webkit_glue::FormField(string16(), |
| 437 ASCIIToUTF16("bogus"), | 420 ASCIIToUTF16("bogus"), |
| 438 string16(), | 421 string16(), |
| 439 ASCIIToUTF16("text"), | 422 ASCIIToUTF16("text"), |
| 440 0, | 423 0, |
| 441 false), | 424 false), |
| 442 ASCIIToUTF16("addr2"))); | 425 ASCIIToUTF16("addr2"))); |
| 443 AutofillScanner scanner(list_.get()); | 426 AutofillScanner scanner(list_.get()); |
| 444 field_.reset(AddressField::Parse(&scanner, false)); | 427 field_.reset(AddressField::Parse(&scanner, false)); |
| 445 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 428 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 446 EXPECT_EQ(kGenericAddress, field_->FindType()); | 429 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 447 EXPECT_TRUE(field_->IsFullAddress()); | 430 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 448 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 449 ASSERT_TRUE( | 431 ASSERT_TRUE( |
| 450 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 432 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 451 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 433 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 452 ASSERT_TRUE( | 434 ASSERT_TRUE( |
| 453 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 435 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 454 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 436 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 455 } | 437 } |
| 456 | 438 |
| 457 TEST_F(AddressFieldTest, ParseCompany) { | 439 TEST_F(AddressFieldTest, ParseCompany) { |
| 458 list_.push_back( | 440 list_.push_back( |
| 459 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Company"), | 441 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Company"), |
| 460 ASCIIToUTF16("company"), | 442 ASCIIToUTF16("company"), |
| 461 string16(), | 443 string16(), |
| 462 ASCIIToUTF16("text"), | 444 ASCIIToUTF16("text"), |
| 463 0, | 445 0, |
| 464 false), | 446 false), |
| 465 ASCIIToUTF16("company1"))); | 447 ASCIIToUTF16("company1"))); |
| 466 AutofillScanner scanner(list_.get()); | 448 AutofillScanner scanner(list_.get()); |
| 467 field_.reset(AddressField::Parse(&scanner, false)); | 449 field_.reset(AddressField::Parse(&scanner, false)); |
| 468 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 450 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 469 EXPECT_EQ(kGenericAddress, field_->FindType()); | 451 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 470 EXPECT_FALSE(field_->IsFullAddress()); | 452 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 471 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 472 ASSERT_TRUE( | 453 ASSERT_TRUE( |
| 473 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); | 454 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); |
| 474 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); | 455 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); |
| 475 } | 456 } |
| 476 | 457 |
| 477 TEST_F(AddressFieldTest, ParseCompanyEcml) { | 458 TEST_F(AddressFieldTest, ParseCompanyEcml) { |
| 478 list_.push_back( | 459 list_.push_back( |
| 479 new AutofillField( | 460 new AutofillField( |
| 480 webkit_glue::FormField(ASCIIToUTF16("Company"), | 461 webkit_glue::FormField(ASCIIToUTF16("Company"), |
| 481 ASCIIToUTF16(kEcmlShipToCompanyName), | 462 ASCIIToUTF16(kEcmlShipToCompanyName), |
| 482 string16(), | 463 string16(), |
| 483 ASCIIToUTF16("text"), | 464 ASCIIToUTF16("text"), |
| 484 0, | 465 0, |
| 485 false), | 466 false), |
| 486 ASCIIToUTF16("company1"))); | 467 ASCIIToUTF16("company1"))); |
| 487 AutofillScanner scanner(list_.get()); | 468 AutofillScanner scanner(list_.get()); |
| 488 field_.reset(AddressField::Parse(&scanner, true)); | 469 field_.reset(AddressField::Parse(&scanner, true)); |
| 489 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 470 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 490 EXPECT_EQ(kGenericAddress, field_->FindType()); | 471 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 491 EXPECT_FALSE(field_->IsFullAddress()); | 472 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 492 ASSERT_TRUE(field_->GetFieldInfo(&field_type_map_)); | |
| 493 ASSERT_TRUE( | 473 ASSERT_TRUE( |
| 494 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); | 474 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); |
| 495 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); | 475 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); |
| 496 } | 476 } |
| 497 | |
| 498 } // namespace | |
| OLD | NEW |