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