| 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/address_field.h" | 8 #include "chrome/browser/autofill/address_field.h" |
| 9 #include "chrome/browser/autofill/autofill_field.h" | 9 #include "chrome/browser/autofill/autofill_field.h" |
| 10 #include "chrome/browser/autofill/autofill_scanner.h" | 10 #include "chrome/browser/autofill/autofill_scanner.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 } | 36 } |
| 37 | 37 |
| 38 TEST_F(AddressFieldTest, NonParse) { | 38 TEST_F(AddressFieldTest, NonParse) { |
| 39 list_.push_back(new AutofillField); | 39 list_.push_back(new AutofillField); |
| 40 AutofillScanner scanner(list_.get()); | 40 AutofillScanner scanner(list_.get()); |
| 41 field_.reset(Parse(&scanner)); | 41 field_.reset(Parse(&scanner)); |
| 42 ASSERT_EQ(static_cast<AddressField*>(NULL), field_.get()); | 42 ASSERT_EQ(static_cast<AddressField*>(NULL), field_.get()); |
| 43 } | 43 } |
| 44 | 44 |
| 45 TEST_F(AddressFieldTest, ParseOneLineAddress) { | 45 TEST_F(AddressFieldTest, ParseOneLineAddress) { |
| 46 list_.push_back( | 46 webkit_glue::FormField field; |
| 47 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 47 field.form_control_type = ASCIIToUTF16("text"); |
| 48 ASCIIToUTF16("address"), | 48 |
| 49 string16(), | 49 field.label = ASCIIToUTF16("Address"); |
| 50 ASCIIToUTF16("text"), | 50 field.name = ASCIIToUTF16("address"); |
| 51 0, | 51 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
| 52 false), | 52 |
| 53 ASCIIToUTF16("addr1"))); | |
| 54 AutofillScanner scanner(list_.get()); | 53 AutofillScanner scanner(list_.get()); |
| 55 field_.reset(Parse(&scanner)); | 54 field_.reset(Parse(&scanner)); |
| 56 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 55 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 57 EXPECT_EQ(kGenericAddress, field_->FindType()); | 56 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 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("addr1")) != field_type_map_.end()); | 59 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 61 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 60 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 62 } | 61 } |
| 63 | 62 |
| 64 TEST_F(AddressFieldTest, ParseOneLineAddressBilling) { | 63 TEST_F(AddressFieldTest, ParseOneLineAddressBilling) { |
| 65 list_.push_back( | 64 webkit_glue::FormField field; |
| 66 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 65 field.form_control_type = ASCIIToUTF16("text"); |
| 67 ASCIIToUTF16("billingAddress"), | 66 |
| 68 string16(), | 67 field.label = ASCIIToUTF16("Address"); |
| 69 ASCIIToUTF16("text"), | 68 field.name = ASCIIToUTF16("billingAddress"); |
| 70 0, | 69 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
| 71 false), | 70 |
| 72 ASCIIToUTF16("addr1"))); | |
| 73 AutofillScanner scanner(list_.get()); | 71 AutofillScanner scanner(list_.get()); |
| 74 field_.reset(Parse(&scanner)); | 72 field_.reset(Parse(&scanner)); |
| 75 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 73 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 76 EXPECT_EQ(kBillingAddress, field_->FindType()); | 74 EXPECT_EQ(kBillingAddress, field_->FindType()); |
| 77 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 75 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 78 ASSERT_TRUE( | 76 ASSERT_TRUE( |
| 79 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 77 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 80 EXPECT_EQ(ADDRESS_BILLING_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 78 EXPECT_EQ(ADDRESS_BILLING_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 81 } | 79 } |
| 82 | 80 |
| 83 TEST_F(AddressFieldTest, ParseOneLineAddressShipping) { | 81 TEST_F(AddressFieldTest, ParseOneLineAddressShipping) { |
| 84 list_.push_back( | 82 webkit_glue::FormField field; |
| 85 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 83 field.form_control_type = ASCIIToUTF16("text"); |
| 86 ASCIIToUTF16("shippingAddress"), | 84 |
| 87 string16(), | 85 field.label = ASCIIToUTF16("Address"); |
| 88 ASCIIToUTF16("text"), | 86 field.name = ASCIIToUTF16("shippingAddress"); |
| 89 0, | 87 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
| 90 false), | 88 |
| 91 ASCIIToUTF16("addr1"))); | |
| 92 AutofillScanner scanner(list_.get()); | 89 AutofillScanner scanner(list_.get()); |
| 93 field_.reset(Parse(&scanner)); | 90 field_.reset(Parse(&scanner)); |
| 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 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 93 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 97 ASSERT_TRUE( | 94 ASSERT_TRUE( |
| 98 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 95 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 99 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 96 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 100 } | 97 } |
| 101 | 98 |
| 102 TEST_F(AddressFieldTest, ParseTwoLineAddress) { | 99 TEST_F(AddressFieldTest, ParseTwoLineAddress) { |
| 103 list_.push_back( | 100 webkit_glue::FormField field; |
| 104 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 101 field.form_control_type = ASCIIToUTF16("text"); |
| 105 ASCIIToUTF16("address"), | 102 |
| 106 string16(), | 103 field.label = ASCIIToUTF16("Address"); |
| 107 ASCIIToUTF16("text"), | 104 field.name = ASCIIToUTF16("address"); |
| 108 0, | 105 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
| 109 false), | 106 |
| 110 ASCIIToUTF16("addr1"))); | 107 field.label = string16(); |
| 111 list_.push_back( | 108 field.name = string16(); |
| 112 new AutofillField(webkit_glue::FormField(string16(), | 109 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr2"))); |
| 113 string16(), | 110 |
| 114 string16(), | |
| 115 ASCIIToUTF16("text"), | |
| 116 0, | |
| 117 false), | |
| 118 ASCIIToUTF16("addr2"))); | |
| 119 AutofillScanner scanner(list_.get()); | 111 AutofillScanner scanner(list_.get()); |
| 120 field_.reset(Parse(&scanner)); | 112 field_.reset(Parse(&scanner)); |
| 121 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 113 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 122 EXPECT_EQ(kGenericAddress, field_->FindType()); | 114 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 123 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 115 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 124 ASSERT_TRUE( | 116 ASSERT_TRUE( |
| 125 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 117 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 126 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 118 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 127 ASSERT_TRUE( | 119 ASSERT_TRUE( |
| 128 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 120 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 129 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 121 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 130 } | 122 } |
| 131 | 123 |
| 132 TEST_F(AddressFieldTest, ParseThreeLineAddress) { | 124 TEST_F(AddressFieldTest, ParseThreeLineAddress) { |
| 133 list_.push_back( | 125 webkit_glue::FormField field; |
| 134 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address Line1"), | 126 field.form_control_type = ASCIIToUTF16("text"); |
| 135 ASCIIToUTF16("Address"), | 127 |
| 136 string16(), | 128 field.label = ASCIIToUTF16("Address Line1"); |
| 137 ASCIIToUTF16("text"), | 129 field.name = ASCIIToUTF16("Address1"); |
| 138 0, | 130 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
| 139 false), | 131 |
| 140 ASCIIToUTF16("addr1"))); | 132 field.label = ASCIIToUTF16("Address Line2"); |
| 141 list_.push_back( | 133 field.name = ASCIIToUTF16("Address2"); |
| 142 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address Line2"), | 134 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr2"))); |
| 143 ASCIIToUTF16("Address"), | 135 |
| 144 string16(), | 136 field.label = ASCIIToUTF16("Address Line3"); |
| 145 ASCIIToUTF16("text"), | 137 field.name = ASCIIToUTF16("Address3"); |
| 146 0, | 138 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr3"))); |
| 147 false), | 139 |
| 148 ASCIIToUTF16("addr2"))); | |
| 149 list_.push_back( | |
| 150 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address Line3"), | |
| 151 ASCIIToUTF16("Address"), | |
| 152 string16(), | |
| 153 ASCIIToUTF16("text"), | |
| 154 0, | |
| 155 false), | |
| 156 ASCIIToUTF16("addr3"))); | |
| 157 AutofillScanner scanner(list_.get()); | 140 AutofillScanner scanner(list_.get()); |
| 158 field_.reset(Parse(&scanner)); | 141 field_.reset(Parse(&scanner)); |
| 159 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 142 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 160 EXPECT_EQ(kGenericAddress, field_->FindType()); | 143 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 161 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 144 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 162 ASSERT_TRUE( | 145 ASSERT_TRUE( |
| 163 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 146 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 164 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 147 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 165 ASSERT_TRUE( | 148 ASSERT_TRUE( |
| 166 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 149 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 167 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 150 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 168 ASSERT_TRUE( | 151 ASSERT_TRUE( |
| 169 field_type_map_.find(ASCIIToUTF16("addr3")) == field_type_map_.end()); | 152 field_type_map_.find(ASCIIToUTF16("addr3")) == field_type_map_.end()); |
| 170 } | 153 } |
| 171 | 154 |
| 172 TEST_F(AddressFieldTest, ParseCity) { | 155 TEST_F(AddressFieldTest, ParseCity) { |
| 173 list_.push_back( | 156 webkit_glue::FormField field; |
| 174 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("City"), | 157 field.form_control_type = ASCIIToUTF16("text"); |
| 175 ASCIIToUTF16("city"), | 158 |
| 176 string16(), | 159 field.label = ASCIIToUTF16("City"); |
| 177 ASCIIToUTF16("text"), | 160 field.name = ASCIIToUTF16("city"); |
| 178 0, | 161 list_.push_back(new AutofillField(field, ASCIIToUTF16("city1"))); |
| 179 false), | 162 |
| 180 ASCIIToUTF16("city1"))); | |
| 181 AutofillScanner scanner(list_.get()); | 163 AutofillScanner scanner(list_.get()); |
| 182 field_.reset(Parse(&scanner)); | 164 field_.reset(Parse(&scanner)); |
| 183 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 165 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 184 EXPECT_EQ(kGenericAddress, field_->FindType()); | 166 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 185 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 167 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 186 ASSERT_TRUE( | 168 ASSERT_TRUE( |
| 187 field_type_map_.find(ASCIIToUTF16("city1")) != field_type_map_.end()); | 169 field_type_map_.find(ASCIIToUTF16("city1")) != field_type_map_.end()); |
| 188 EXPECT_EQ(ADDRESS_HOME_CITY, field_type_map_[ASCIIToUTF16("city1")]); | 170 EXPECT_EQ(ADDRESS_HOME_CITY, field_type_map_[ASCIIToUTF16("city1")]); |
| 189 } | 171 } |
| 190 | 172 |
| 191 TEST_F(AddressFieldTest, ParseState) { | 173 TEST_F(AddressFieldTest, ParseState) { |
| 192 list_.push_back( | 174 webkit_glue::FormField field; |
| 193 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("State"), | 175 field.form_control_type = ASCIIToUTF16("text"); |
| 194 ASCIIToUTF16("state"), | 176 |
| 195 string16(), | 177 field.label = ASCIIToUTF16("State"); |
| 196 ASCIIToUTF16("text"), | 178 field.name = ASCIIToUTF16("state"); |
| 197 0, | 179 list_.push_back(new AutofillField(field, ASCIIToUTF16("state1"))); |
| 198 false), | 180 |
| 199 ASCIIToUTF16("state1"))); | |
| 200 AutofillScanner scanner(list_.get()); | 181 AutofillScanner scanner(list_.get()); |
| 201 field_.reset(Parse(&scanner)); | 182 field_.reset(Parse(&scanner)); |
| 202 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 183 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 203 EXPECT_EQ(kGenericAddress, field_->FindType()); | 184 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 204 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 185 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 205 ASSERT_TRUE( | 186 ASSERT_TRUE( |
| 206 field_type_map_.find(ASCIIToUTF16("state1")) != field_type_map_.end()); | 187 field_type_map_.find(ASCIIToUTF16("state1")) != field_type_map_.end()); |
| 207 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state1")]); | 188 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state1")]); |
| 208 } | 189 } |
| 209 | 190 |
| 210 TEST_F(AddressFieldTest, ParseZip) { | 191 TEST_F(AddressFieldTest, ParseZip) { |
| 211 list_.push_back( | 192 webkit_glue::FormField field; |
| 212 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Zip"), | 193 field.form_control_type = ASCIIToUTF16("text"); |
| 213 ASCIIToUTF16("zip"), | 194 |
| 214 string16(), | 195 field.label = ASCIIToUTF16("Zip"); |
| 215 ASCIIToUTF16("text"), | 196 field.name = ASCIIToUTF16("zip"); |
| 216 0, | 197 list_.push_back(new AutofillField(field, ASCIIToUTF16("zip1"))); |
| 217 false), | 198 |
| 218 ASCIIToUTF16("zip1"))); | |
| 219 AutofillScanner scanner(list_.get()); | 199 AutofillScanner scanner(list_.get()); |
| 220 field_.reset(Parse(&scanner)); | 200 field_.reset(Parse(&scanner)); |
| 221 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 201 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 222 EXPECT_EQ(kGenericAddress, field_->FindType()); | 202 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 223 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 203 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 224 ASSERT_TRUE( | 204 ASSERT_TRUE( |
| 225 field_type_map_.find(ASCIIToUTF16("zip1")) != field_type_map_.end()); | 205 field_type_map_.find(ASCIIToUTF16("zip1")) != field_type_map_.end()); |
| 226 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip1")]); | 206 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip1")]); |
| 227 } | 207 } |
| 228 | 208 |
| 229 TEST_F(AddressFieldTest, ParseStateAndZipOneLabel) { | 209 TEST_F(AddressFieldTest, ParseStateAndZipOneLabel) { |
| 230 list_.push_back( | 210 webkit_glue::FormField field; |
| 231 new AutofillField( | 211 field.form_control_type = ASCIIToUTF16("text"); |
| 232 webkit_glue::FormField( | 212 |
| 233 ASCIIToUTF16("State/Province, Zip/Postal Code"), | 213 field.label = ASCIIToUTF16("State/Province, Zip/Postal Code"); |
| 234 ASCIIToUTF16("state"), | 214 field.name = ASCIIToUTF16("state"); |
| 235 string16(), | 215 list_.push_back(new AutofillField(field, ASCIIToUTF16("state"))); |
| 236 ASCIIToUTF16("text"), | 216 |
| 237 0, | 217 field.label = ASCIIToUTF16("State/Province, Zip/Postal Code"); |
| 238 false), | 218 field.name = ASCIIToUTF16("zip"); |
| 239 ASCIIToUTF16("state"))); | 219 list_.push_back(new AutofillField(field, ASCIIToUTF16("zip"))); |
| 240 list_.push_back( | 220 |
| 241 new AutofillField( | |
| 242 webkit_glue::FormField( | |
| 243 ASCIIToUTF16("State/Province, Zip/Postal Code"), | |
| 244 ASCIIToUTF16("zip"), | |
| 245 string16(), | |
| 246 ASCIIToUTF16("text"), | |
| 247 0, | |
| 248 false), | |
| 249 ASCIIToUTF16("zip"))); | |
| 250 AutofillScanner scanner(list_.get()); | 221 AutofillScanner scanner(list_.get()); |
| 251 field_.reset(Parse(&scanner)); | 222 field_.reset(Parse(&scanner)); |
| 252 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 223 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 253 EXPECT_EQ(kGenericAddress, field_->FindType()); | 224 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 254 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 225 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 255 ASSERT_TRUE( | 226 ASSERT_TRUE( |
| 256 field_type_map_.find(ASCIIToUTF16("state")) != field_type_map_.end()); | 227 field_type_map_.find(ASCIIToUTF16("state")) != field_type_map_.end()); |
| 257 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state")]); | 228 EXPECT_EQ(ADDRESS_HOME_STATE, field_type_map_[ASCIIToUTF16("state")]); |
| 258 ASSERT_TRUE( | 229 ASSERT_TRUE( |
| 259 field_type_map_.find(ASCIIToUTF16("zip")) != field_type_map_.end()); | 230 field_type_map_.find(ASCIIToUTF16("zip")) != field_type_map_.end()); |
| 260 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip")]); | 231 EXPECT_EQ(ADDRESS_HOME_ZIP, field_type_map_[ASCIIToUTF16("zip")]); |
| 261 } | 232 } |
| 262 | 233 |
| 263 TEST_F(AddressFieldTest, ParseCountry) { | 234 TEST_F(AddressFieldTest, ParseCountry) { |
| 264 list_.push_back( | 235 webkit_glue::FormField field; |
| 265 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Country"), | 236 field.form_control_type = ASCIIToUTF16("text"); |
| 266 ASCIIToUTF16("country"), | 237 |
| 267 string16(), | 238 field.label = ASCIIToUTF16("Country"); |
| 268 ASCIIToUTF16("text"), | 239 field.name = ASCIIToUTF16("country"); |
| 269 0, | 240 list_.push_back(new AutofillField(field, ASCIIToUTF16("country1"))); |
| 270 false), | 241 |
| 271 ASCIIToUTF16("country1"))); | |
| 272 AutofillScanner scanner(list_.get()); | 242 AutofillScanner scanner(list_.get()); |
| 273 field_.reset(Parse(&scanner)); | 243 field_.reset(Parse(&scanner)); |
| 274 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 244 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 275 EXPECT_EQ(kGenericAddress, field_->FindType()); | 245 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 276 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 246 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 277 ASSERT_TRUE( | 247 ASSERT_TRUE( |
| 278 field_type_map_.find(ASCIIToUTF16("country1")) != field_type_map_.end()); | 248 field_type_map_.find(ASCIIToUTF16("country1")) != field_type_map_.end()); |
| 279 EXPECT_EQ(ADDRESS_HOME_COUNTRY, field_type_map_[ASCIIToUTF16("country1")]); | 249 EXPECT_EQ(ADDRESS_HOME_COUNTRY, field_type_map_[ASCIIToUTF16("country1")]); |
| 280 } | 250 } |
| 281 | 251 |
| 282 TEST_F(AddressFieldTest, ParseTwoLineAddressMissingLabel) { | 252 TEST_F(AddressFieldTest, ParseTwoLineAddressMissingLabel) { |
| 283 list_.push_back( | 253 webkit_glue::FormField field; |
| 284 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Address"), | 254 field.form_control_type = ASCIIToUTF16("text"); |
| 285 ASCIIToUTF16("address"), | 255 |
| 286 string16(), | 256 field.label = ASCIIToUTF16("Address"); |
| 287 ASCIIToUTF16("text"), | 257 field.name = ASCIIToUTF16("address"); |
| 288 0, | 258 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr1"))); |
| 289 false), | 259 |
| 290 ASCIIToUTF16("addr1"))); | 260 field.label = ASCIIToUTF16(""); |
| 291 list_.push_back( | 261 field.name = ASCIIToUTF16("bogus"); |
| 292 new AutofillField(webkit_glue::FormField(string16(), | 262 list_.push_back(new AutofillField(field, ASCIIToUTF16("addr2"))); |
| 293 ASCIIToUTF16("bogus"), | 263 |
| 294 string16(), | |
| 295 ASCIIToUTF16("text"), | |
| 296 0, | |
| 297 false), | |
| 298 ASCIIToUTF16("addr2"))); | |
| 299 AutofillScanner scanner(list_.get()); | 264 AutofillScanner scanner(list_.get()); |
| 300 field_.reset(Parse(&scanner)); | 265 field_.reset(Parse(&scanner)); |
| 301 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 266 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 302 EXPECT_EQ(kGenericAddress, field_->FindType()); | 267 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 303 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 268 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 304 ASSERT_TRUE( | 269 ASSERT_TRUE( |
| 305 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); | 270 field_type_map_.find(ASCIIToUTF16("addr1")) != field_type_map_.end()); |
| 306 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); | 271 EXPECT_EQ(ADDRESS_HOME_LINE1, field_type_map_[ASCIIToUTF16("addr1")]); |
| 307 ASSERT_TRUE( | 272 ASSERT_TRUE( |
| 308 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); | 273 field_type_map_.find(ASCIIToUTF16("addr2")) != field_type_map_.end()); |
| 309 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); | 274 EXPECT_EQ(ADDRESS_HOME_LINE2, field_type_map_[ASCIIToUTF16("addr2")]); |
| 310 } | 275 } |
| 311 | 276 |
| 312 TEST_F(AddressFieldTest, ParseCompany) { | 277 TEST_F(AddressFieldTest, ParseCompany) { |
| 313 list_.push_back( | 278 webkit_glue::FormField field; |
| 314 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Company"), | 279 field.form_control_type = ASCIIToUTF16("text"); |
| 315 ASCIIToUTF16("company"), | 280 |
| 316 string16(), | 281 field.label = ASCIIToUTF16("Company"); |
| 317 ASCIIToUTF16("text"), | 282 field.name = ASCIIToUTF16("company"); |
| 318 0, | 283 list_.push_back(new AutofillField(field, ASCIIToUTF16("company1"))); |
| 319 false), | 284 |
| 320 ASCIIToUTF16("company1"))); | |
| 321 AutofillScanner scanner(list_.get()); | 285 AutofillScanner scanner(list_.get()); |
| 322 field_.reset(Parse(&scanner)); | 286 field_.reset(Parse(&scanner)); |
| 323 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); | 287 ASSERT_NE(static_cast<AddressField*>(NULL), field_.get()); |
| 324 EXPECT_EQ(kGenericAddress, field_->FindType()); | 288 EXPECT_EQ(kGenericAddress, field_->FindType()); |
| 325 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); | 289 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); |
| 326 ASSERT_TRUE( | 290 ASSERT_TRUE( |
| 327 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); | 291 field_type_map_.find(ASCIIToUTF16("company1")) != field_type_map_.end()); |
| 328 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); | 292 EXPECT_EQ(COMPANY_NAME, field_type_map_[ASCIIToUTF16("company1")]); |
| 329 } | 293 } |
| OLD | NEW |