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 |