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

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

Issue 7576001: Refactor webkit_glue::FormField to remove hacky methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix copyright header 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
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_field.h" 8 #include "chrome/browser/autofill/autofill_field.h"
9 #include "chrome/browser/autofill/autofill_scanner.h" 9 #include "chrome/browser/autofill/autofill_scanner.h"
10 #include "chrome/browser/autofill/phone_field.h" 10 #include "chrome/browser/autofill/phone_field.h"
(...skipping 25 matching lines...) Expand all
36 } 36 }
37 37
38 TEST_F(PhoneFieldTest, NonParse) { 38 TEST_F(PhoneFieldTest, 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<PhoneField*>(NULL), field_.get()); 42 ASSERT_EQ(static_cast<PhoneField*>(NULL), field_.get());
43 } 43 }
44 44
45 TEST_F(PhoneFieldTest, ParseOneLinePhone) { 45 TEST_F(PhoneFieldTest, ParseOneLinePhone) {
46 list_.push_back( 46 webkit_glue::FormField field;
47 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), 47 field.form_control_type = ASCIIToUTF16("text");
48 ASCIIToUTF16("phone"), 48
49 string16(), 49 field.label = ASCIIToUTF16("Phone");
50 ASCIIToUTF16("text"), 50 field.name = ASCIIToUTF16("phone");
51 0, 51 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1")));
52 false), 52
53 ASCIIToUTF16("phone1")));
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<PhoneField*>(NULL), field_.get()); 55 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
57 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 56 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
58 ASSERT_TRUE( 57 ASSERT_TRUE(
59 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); 58 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end());
60 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); 59 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]);
61 } 60 }
62 61
63 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { 62 TEST_F(PhoneFieldTest, ParseTwoLinePhone) {
64 list_.push_back( 63 webkit_glue::FormField field;
65 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), 64 field.form_control_type = ASCIIToUTF16("text");
66 ASCIIToUTF16("area code"), 65
67 string16(), 66 field.label = ASCIIToUTF16("Area Code");
68 ASCIIToUTF16("text"), 67 field.name = ASCIIToUTF16("area code");
69 0, 68 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
70 false), 69
71 ASCIIToUTF16("areacode1"))); 70 field.label = ASCIIToUTF16("Phone");
72 list_.push_back( 71 field.name = ASCIIToUTF16("phone");
73 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone"), 72 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2")));
74 ASCIIToUTF16("phone"), 73
75 string16(),
76 ASCIIToUTF16("text"),
77 0,
78 false),
79 ASCIIToUTF16("phone1")));
80 AutofillScanner scanner(list_.get()); 74 AutofillScanner scanner(list_.get());
81 field_.reset(Parse(&scanner)); 75 field_.reset(Parse(&scanner));
82 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 76 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
83 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 77 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
84 ASSERT_TRUE( 78 ASSERT_TRUE(
85 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); 79 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end());
86 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); 80 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]);
87 ASSERT_TRUE( 81 ASSERT_TRUE(
88 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); 82 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end());
89 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); 83 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]);
90 } 84 }
91 85
92 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { 86 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) {
93 // Phone in format <field> - <field> - <field> could be either 87 // Phone in format <field> - <field> - <field> could be either
94 // <area code> - <prefix> - <suffix>, or 88 // <area code> - <prefix> - <suffix>, or
95 // <country code> - <area code> - <phone>. The only distinguishing feature is 89 // <country code> - <area code> - <phone>. The only distinguishing feature is
96 // size: <prefix> is no bigger than 3 characters, and <suffix> is no bigger 90 // size: <prefix> is no bigger than 3 characters, and <suffix> is no bigger
97 // than 4. 91 // than 4.
98 list_.push_back( 92 webkit_glue::FormField field;
99 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone:"), 93 field.form_control_type = ASCIIToUTF16("text");
100 ASCIIToUTF16("dayphone1"), 94
101 string16(), 95 field.label = ASCIIToUTF16("Phone:");
102 ASCIIToUTF16("text"), 96 field.name = ASCIIToUTF16("dayphone1");
103 0, 97 field.max_length = 0;
104 false), 98 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
105 ASCIIToUTF16("areacode1"))); 99
106 list_.push_back( 100 field.label = ASCIIToUTF16("-");
107 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("-"), 101 field.name = ASCIIToUTF16("dayphone2");
108 ASCIIToUTF16("dayphone2"), 102 field.max_length = 3;
109 string16(), 103 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
110 ASCIIToUTF16("text"), 104
111 3, 105 field.label = ASCIIToUTF16("-");
112 false), 106 field.name = ASCIIToUTF16("dayphone3");
113 ASCIIToUTF16("prefix1"))); 107 field.max_length = 4;
114 list_.push_back( 108 list_.push_back(new AutofillField(field, ASCIIToUTF16("suffix3")));
115 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("-"), 109
116 ASCIIToUTF16("dayphone3"), 110 field.label = ASCIIToUTF16("ext.:");
117 string16(), 111 field.name = ASCIIToUTF16("dayphone4");
118 ASCIIToUTF16("text"), 112 field.max_length = 0;
119 4, 113 list_.push_back(new AutofillField(field, ASCIIToUTF16("ext4")));
120 false), 114
121 ASCIIToUTF16("suffix1")));
122 list_.push_back(
123 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("ext.:"),
124 ASCIIToUTF16("dayphone4"),
125 string16(),
126 ASCIIToUTF16("text"),
127 0,
128 false),
129 ASCIIToUTF16("ext1")));
130 AutofillScanner scanner(list_.get()); 115 AutofillScanner scanner(list_.get());
131 field_.reset(Parse(&scanner)); 116 field_.reset(Parse(&scanner));
132 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 117 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
133 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 118 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
134 ASSERT_TRUE( 119 ASSERT_TRUE(
135 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); 120 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end());
136 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); 121 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]);
137 ASSERT_TRUE( 122 ASSERT_TRUE(
138 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); 123 field_type_map_.find(ASCIIToUTF16("prefix2")) != field_type_map_.end());
139 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); 124 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix2")]);
140 ASSERT_TRUE( 125 ASSERT_TRUE(
141 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); 126 field_type_map_.find(ASCIIToUTF16("suffix3")) != field_type_map_.end());
142 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); 127 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]);
128 EXPECT_TRUE(
129 field_type_map_.find(ASCIIToUTF16("ext4")) == field_type_map_.end());
143 } 130 }
144 131
145 // This scenario of explicitly labeled "prefix" and "suffix" phone numbers 132 // This scenario of explicitly labeled "prefix" and "suffix" phone numbers
146 // encountered in http://crbug.com/40694 with page 133 // encountered in http://crbug.com/40694 with page
147 // https://www.wrapables.com/jsp/Signup.jsp. 134 // https://www.wrapables.com/jsp/Signup.jsp.
148 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) { 135 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) {
149 list_.push_back( 136 webkit_glue::FormField field;
150 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone:"), 137 field.form_control_type = ASCIIToUTF16("text");
151 ASCIIToUTF16("area"), 138
152 string16(), 139 field.label = ASCIIToUTF16("Phone:");
153 ASCIIToUTF16("text"), 140 field.name = ASCIIToUTF16("area");
154 0, 141 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
155 false), 142
156 ASCIIToUTF16("areacode1"))); 143 field.label = string16();
157 list_.push_back( 144 field.name = ASCIIToUTF16("prefix");
158 new AutofillField(webkit_glue::FormField(string16(), 145 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
159 ASCIIToUTF16("prefix"), 146
160 string16(), 147 field.label = string16();
161 ASCIIToUTF16("text"), 148 field.name = ASCIIToUTF16("suffix");
162 0, 149 list_.push_back(new AutofillField(field, ASCIIToUTF16("suffix3")));
163 false), 150
164 ASCIIToUTF16("prefix1")));
165 list_.push_back(
166 new AutofillField(webkit_glue::FormField(string16(),
167 ASCIIToUTF16("suffix"),
168 string16(),
169 ASCIIToUTF16("text"),
170 0,
171 false),
172 ASCIIToUTF16("suffix1")));
173 AutofillScanner scanner(list_.get()); 151 AutofillScanner scanner(list_.get());
174 field_.reset(Parse(&scanner)); 152 field_.reset(Parse(&scanner));
175 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 153 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
176 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 154 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
177 ASSERT_TRUE( 155 ASSERT_TRUE(
178 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); 156 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end());
179 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); 157 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]);
180 ASSERT_TRUE( 158 ASSERT_TRUE(
181 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); 159 field_type_map_.find(ASCIIToUTF16("prefix2")) != field_type_map_.end());
182 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); 160 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix2")]);
183 ASSERT_TRUE( 161 ASSERT_TRUE(
184 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); 162 field_type_map_.find(ASCIIToUTF16("suffix3")) != field_type_map_.end());
185 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); 163 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]);
186 } 164 }
187 165
188 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix2) { 166 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix2) {
189 list_.push_back( 167 webkit_glue::FormField field;
190 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("("), 168 field.form_control_type = ASCIIToUTF16("text");
191 ASCIIToUTF16("phone1"), 169
192 string16(), 170 field.label = ASCIIToUTF16("(");
193 ASCIIToUTF16("text"), 171 field.name = ASCIIToUTF16("phone1");
194 3, 172 field.max_length = 3;
195 false), 173 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1")));
196 ASCIIToUTF16("phone1"))); 174
197 list_.push_back( 175 field.label = ASCIIToUTF16(")");
198 new AutofillField(webkit_glue::FormField(ASCIIToUTF16(")"), 176 field.name = ASCIIToUTF16("phone2");
199 ASCIIToUTF16("phone2"), 177 field.max_length = 3;
200 string16(), 178 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2")));
201 ASCIIToUTF16("text"), 179
202 3, 180 field.label = string16();
203 false), 181 field.name = ASCIIToUTF16("phone3");
204 ASCIIToUTF16("phone2"))); 182 field.max_length = 4;
205 list_.push_back( 183 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone3")));
206 new AutofillField(webkit_glue::FormField(string16(), 184
207 ASCIIToUTF16("phone3"),
208 string16(),
209 ASCIIToUTF16("text"),
210 4,
211 false),
212 ASCIIToUTF16("phone3")));
213 AutofillScanner scanner(list_.get()); 185 AutofillScanner scanner(list_.get());
214 field_.reset(Parse(&scanner)); 186 field_.reset(Parse(&scanner));
215 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 187 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
216 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 188 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
217 ASSERT_TRUE( 189 ASSERT_TRUE(
218 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); 190 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end());
219 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("phone1")]); 191 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("phone1")]);
220 ASSERT_TRUE( 192 ASSERT_TRUE(
221 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end()); 193 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end());
222 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]); 194 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]);
223 ASSERT_TRUE( 195 ASSERT_TRUE(
224 field_type_map_.find(ASCIIToUTF16("phone3")) != field_type_map_.end()); 196 field_type_map_.find(ASCIIToUTF16("phone3")) != field_type_map_.end());
225 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone3")]); 197 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone3")]);
226 } 198 }
227 199
228 TEST_F(PhoneFieldTest, ParseOneLineFax) { 200 TEST_F(PhoneFieldTest, ParseOneLineFax) {
229 list_.push_back( 201 webkit_glue::FormField field;
230 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), 202 field.form_control_type = ASCIIToUTF16("text");
231 ASCIIToUTF16("fax"), 203
232 string16(), 204 field.label = ASCIIToUTF16("Fax");
233 ASCIIToUTF16("text"), 205 field.name = ASCIIToUTF16("fax");
234 0, 206 list_.push_back(new AutofillField(field, ASCIIToUTF16("fax1")));
235 false), 207
236 ASCIIToUTF16("fax1")));
237 AutofillScanner scanner(list_.get()); 208 AutofillScanner scanner(list_.get());
238 field_.reset(Parse(&scanner)); 209 field_.reset(Parse(&scanner));
239 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 210 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
240 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 211 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
241 ASSERT_TRUE( 212 ASSERT_TRUE(
242 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); 213 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end());
243 EXPECT_EQ(PHONE_FAX_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); 214 EXPECT_EQ(PHONE_FAX_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]);
244 } 215 }
245 216
246 TEST_F(PhoneFieldTest, ParseTwoLineFax) { 217 TEST_F(PhoneFieldTest, ParseTwoLineFax) {
247 list_.push_back( 218 webkit_glue::FormField field;
248 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Area Code"), 219 field.form_control_type = ASCIIToUTF16("text");
249 ASCIIToUTF16("area code"), 220
250 string16(), 221 field.label = ASCIIToUTF16("Area Code");
251 ASCIIToUTF16("text"), 222 field.name = ASCIIToUTF16("area code");
252 0, 223 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
253 false), 224
254 ASCIIToUTF16("areacode1"))); 225 field.label = ASCIIToUTF16("Fax");
255 list_.push_back( 226 field.name = ASCIIToUTF16("fax");
256 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax"), 227 list_.push_back(new AutofillField(field, ASCIIToUTF16("fax2")));
257 ASCIIToUTF16("fax"), 228
258 string16(),
259 ASCIIToUTF16("text"),
260 0,
261 false),
262 ASCIIToUTF16("fax1")));
263 AutofillScanner scanner(list_.get()); 229 AutofillScanner scanner(list_.get());
264 field_.reset(Parse(&scanner)); 230 field_.reset(Parse(&scanner));
265 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 231 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
266 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 232 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
267 ASSERT_TRUE( 233 ASSERT_TRUE(
268 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); 234 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end());
269 // It should be FAX, based on the other phone in the group. 235 // It should be FAX, based on the other phone in the group.
270 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); 236 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]);
271 ASSERT_TRUE( 237 ASSERT_TRUE(
272 field_type_map_.find(ASCIIToUTF16("fax1")) != field_type_map_.end()); 238 field_type_map_.find(ASCIIToUTF16("fax2")) != field_type_map_.end());
273 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("fax1")]); 239 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("fax2")]);
274 } 240 }
275 241
276 TEST_F(PhoneFieldTest, ThreePartFaxNumberPrefixSuffix) { 242 TEST_F(PhoneFieldTest, ThreePartFaxNumberPrefixSuffix) {
277 list_.push_back( 243 webkit_glue::FormField field;
278 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Fax:"), 244 field.form_control_type = ASCIIToUTF16("text");
279 ASCIIToUTF16("area"), 245
280 string16(), 246 field.label = ASCIIToUTF16("Fax:");
281 ASCIIToUTF16("text"), 247 field.name = ASCIIToUTF16("area");
282 0, 248 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
283 false), 249
284 ASCIIToUTF16("areacode1"))); 250 field.label = string16();
285 list_.push_back( 251 field.name = ASCIIToUTF16("prefix");
286 new AutofillField(webkit_glue::FormField(string16(), 252 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
287 ASCIIToUTF16("prefix"), 253
288 string16(), 254 field.label = string16();
289 ASCIIToUTF16("text"), 255 field.name = ASCIIToUTF16("suffix");
290 0, 256 list_.push_back(new AutofillField(field, ASCIIToUTF16("suffix3")));
291 false), 257
292 ASCIIToUTF16("prefix1")));
293 list_.push_back(
294 new AutofillField(webkit_glue::FormField(string16(),
295 ASCIIToUTF16("suffix"),
296 string16(),
297 ASCIIToUTF16("text"),
298 0,
299 false),
300 ASCIIToUTF16("suffix1")));
301 AutofillScanner scanner(list_.get()); 258 AutofillScanner scanner(list_.get());
302 field_.reset(Parse(&scanner)); 259 field_.reset(Parse(&scanner));
303 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 260 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
304 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 261 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
305 ASSERT_TRUE( 262 ASSERT_TRUE(
306 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); 263 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end());
307 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); 264 EXPECT_EQ(PHONE_FAX_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]);
308 ASSERT_TRUE( 265 ASSERT_TRUE(
309 field_type_map_.find(ASCIIToUTF16("prefix1")) != field_type_map_.end()); 266 field_type_map_.find(ASCIIToUTF16("prefix2")) != field_type_map_.end());
310 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("prefix1")]); 267 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("prefix2")]);
311 ASSERT_TRUE( 268 ASSERT_TRUE(
312 field_type_map_.find(ASCIIToUTF16("suffix1")) != field_type_map_.end()); 269 field_type_map_.find(ASCIIToUTF16("suffix3")) != field_type_map_.end());
313 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("suffix1")]); 270 EXPECT_EQ(PHONE_FAX_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]);
314 } 271 }
315 272
316 TEST_F(PhoneFieldTest, CountryAndCityAndPhoneNumber) { 273 TEST_F(PhoneFieldTest, CountryAndCityAndPhoneNumber) {
317 // Phone in format <country code>:3 - <city and number>:10 274 // Phone in format <country code>:3 - <city and number>:10
318 // The |maxlength| is considered, otherwise it's too broad. 275 // The |maxlength| is considered, otherwise it's too broad.
319 list_.push_back( 276 webkit_glue::FormField field;
320 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone Number"), 277 field.form_control_type = ASCIIToUTF16("text");
321 ASCIIToUTF16("CountryCode"), 278
322 string16(), 279 field.label = ASCIIToUTF16("Phone Number");
323 ASCIIToUTF16("text"), 280 field.name = ASCIIToUTF16("CountryCode");
324 3, 281 field.max_length = 3;
325 false), 282 list_.push_back(new AutofillField(field, ASCIIToUTF16("country")));
326 ASCIIToUTF16("country"))); 283
327 list_.push_back( 284 field.label = ASCIIToUTF16("Phone Number");
328 new AutofillField(webkit_glue::FormField(ASCIIToUTF16("Phone Number"), 285 field.name = ASCIIToUTF16("PhoneNumber");
329 ASCIIToUTF16("PhoneNumber"), 286 field.max_length = 10;
330 string16(), 287 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone")));
331 ASCIIToUTF16("text"), 288
332 10,
333 false),
334 ASCIIToUTF16("phone")));
335 AutofillScanner scanner(list_.get()); 289 AutofillScanner scanner(list_.get());
336 field_.reset(Parse(&scanner)); 290 field_.reset(Parse(&scanner));
337 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 291 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
338 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 292 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
339 ASSERT_TRUE( 293 ASSERT_TRUE(
340 field_type_map_.find(ASCIIToUTF16("country")) != field_type_map_.end()); 294 field_type_map_.find(ASCIIToUTF16("country")) != field_type_map_.end());
341 EXPECT_EQ(PHONE_HOME_COUNTRY_CODE, field_type_map_[ASCIIToUTF16("country")]); 295 EXPECT_EQ(PHONE_HOME_COUNTRY_CODE, field_type_map_[ASCIIToUTF16("country")]);
342 ASSERT_TRUE( 296 ASSERT_TRUE(
343 field_type_map_.find(ASCIIToUTF16("phone")) != field_type_map_.end()); 297 field_type_map_.find(ASCIIToUTF16("phone")) != field_type_map_.end());
344 EXPECT_EQ(PHONE_HOME_CITY_AND_NUMBER, field_type_map_[ASCIIToUTF16("phone")]); 298 EXPECT_EQ(PHONE_HOME_CITY_AND_NUMBER, field_type_map_[ASCIIToUTF16("phone")]);
345 } 299 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/name_field_unittest.cc ('k') | chrome/browser/webdata/autofill_table_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698