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

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

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