Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(934)

Side by Side Diff: chrome/browser/autofill/address_field_unittest.cc

Issue 7043027: Autofill refactor form_field.h/cc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: OVERRIDE glitch. Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/autofill/address_field.cc ('k') | chrome/browser/autofill/autofill_ecml.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/autofill/address_field.cc ('k') | chrome/browser/autofill/autofill_ecml.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698