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

Side by Side Diff: components/autofill/core/browser/phone_field_unittest.cc

Issue 2424793002: Revert of Replace for loops with |arraysize| with for each loops (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/autofill/core/browser/phone_field.h" 5 #include "components/autofill/core/browser/phone_field.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 TEST_F(PhoneFieldTest, NonParse) { 72 TEST_F(PhoneFieldTest, NonParse) {
73 list_.push_back(new AutofillField); 73 list_.push_back(new AutofillField);
74 AutofillScanner scanner(list_.get()); 74 AutofillScanner scanner(list_.get());
75 field_ = Parse(&scanner); 75 field_ = Parse(&scanner);
76 ASSERT_EQ(nullptr, field_.get()); 76 ASSERT_EQ(nullptr, field_.get());
77 } 77 }
78 78
79 TEST_F(PhoneFieldTest, ParseOneLinePhone) { 79 TEST_F(PhoneFieldTest, ParseOneLinePhone) {
80 FormFieldData field; 80 FormFieldData field;
81 81
82 for (const char* field_type : kFieldTypes) { 82 for (size_t i = 0; i < arraysize(kFieldTypes); ++i) {
83 Clear(); 83 Clear();
84 84
85 field.form_control_type = field_type; 85 field.form_control_type = kFieldTypes[i];
86 field.label = ASCIIToUTF16("Phone"); 86 field.label = ASCIIToUTF16("Phone");
87 field.name = ASCIIToUTF16("phone"); 87 field.name = ASCIIToUTF16("phone");
88 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1"))); 88 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1")));
89 89
90 AutofillScanner scanner(list_.get()); 90 AutofillScanner scanner(list_.get());
91 field_ = Parse(&scanner); 91 field_ = Parse(&scanner);
92 ASSERT_NE(nullptr, field_.get()); 92 ASSERT_NE(nullptr, field_.get());
93 field_->AddClassifications(&field_candidates_map_); 93 field_->AddClassifications(&field_candidates_map_);
94 CheckField("phone1", PHONE_HOME_WHOLE_NUMBER); 94 CheckField("phone1", PHONE_HOME_WHOLE_NUMBER);
95 } 95 }
96 } 96 }
97 97
98 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { 98 TEST_F(PhoneFieldTest, ParseTwoLinePhone) {
99 FormFieldData field; 99 FormFieldData field;
100 100
101 for (const char* field_type : kFieldTypes) { 101 for (size_t i = 0; i < arraysize(kFieldTypes); ++i) {
102 Clear(); 102 Clear();
103 103
104 field.form_control_type = field_type; 104 field.form_control_type = kFieldTypes[i];
105 field.label = ASCIIToUTF16("Area Code"); 105 field.label = ASCIIToUTF16("Area Code");
106 field.name = ASCIIToUTF16("area code"); 106 field.name = ASCIIToUTF16("area code");
107 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1"))); 107 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
108 108
109 field.label = ASCIIToUTF16("Phone"); 109 field.label = ASCIIToUTF16("Phone");
110 field.name = ASCIIToUTF16("phone"); 110 field.name = ASCIIToUTF16("phone");
111 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2"))); 111 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2")));
112 112
113 AutofillScanner scanner(list_.get()); 113 AutofillScanner scanner(list_.get());
114 field_ = Parse(&scanner); 114 field_ = Parse(&scanner);
115 ASSERT_NE(nullptr, field_.get()); 115 ASSERT_NE(nullptr, field_.get());
116 field_->AddClassifications(&field_candidates_map_); 116 field_->AddClassifications(&field_candidates_map_);
117 CheckField("areacode1", PHONE_HOME_CITY_CODE); 117 CheckField("areacode1", PHONE_HOME_CITY_CODE);
118 CheckField("phone2", PHONE_HOME_NUMBER); 118 CheckField("phone2", PHONE_HOME_NUMBER);
119 } 119 }
120 } 120 }
121 121
122 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { 122 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) {
123 // Phone in format <field> - <field> - <field> could be either 123 // Phone in format <field> - <field> - <field> could be either
124 // <area code> - <prefix> - <suffix>, or 124 // <area code> - <prefix> - <suffix>, or
125 // <country code> - <area code> - <phone>. The only distinguishing feature is 125 // <country code> - <area code> - <phone>. The only distinguishing feature is
126 // size: <prefix> is no bigger than 3 characters, and <suffix> is no bigger 126 // size: <prefix> is no bigger than 3 characters, and <suffix> is no bigger
127 // than 4. 127 // than 4.
128 FormFieldData field; 128 FormFieldData field;
129 129
130 for (const char* field_type : kFieldTypes) { 130 for (size_t i = 0; i < arraysize(kFieldTypes); ++i) {
131 Clear(); 131 Clear();
132 132
133 field.form_control_type = field_type; 133 field.form_control_type = kFieldTypes[i];
134 field.label = ASCIIToUTF16("Phone:"); 134 field.label = ASCIIToUTF16("Phone:");
135 field.name = ASCIIToUTF16("dayphone1"); 135 field.name = ASCIIToUTF16("dayphone1");
136 field.max_length = 0; 136 field.max_length = 0;
137 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1"))); 137 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
138 138
139 field.label = ASCIIToUTF16("-"); 139 field.label = ASCIIToUTF16("-");
140 field.name = ASCIIToUTF16("dayphone2"); 140 field.name = ASCIIToUTF16("dayphone2");
141 field.max_length = 3; 141 field.max_length = 3;
142 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2"))); 142 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
143 143
(...skipping 17 matching lines...) Expand all
161 EXPECT_TRUE(base::ContainsKey(field_candidates_map_, ASCIIToUTF16("ext4"))); 161 EXPECT_TRUE(base::ContainsKey(field_candidates_map_, ASCIIToUTF16("ext4")));
162 } 162 }
163 } 163 }
164 164
165 // This scenario of explicitly labeled "prefix" and "suffix" phone numbers 165 // This scenario of explicitly labeled "prefix" and "suffix" phone numbers
166 // encountered in http://crbug.com/40694 with page 166 // encountered in http://crbug.com/40694 with page
167 // https://www.wrapables.com/jsp/Signup.jsp. 167 // https://www.wrapables.com/jsp/Signup.jsp.
168 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) { 168 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) {
169 FormFieldData field; 169 FormFieldData field;
170 170
171 for (const char* field_type : kFieldTypes) { 171 for (size_t i = 0; i < arraysize(kFieldTypes); ++i) {
172 Clear(); 172 Clear();
173 173
174 field.form_control_type = field_type; 174 field.form_control_type = kFieldTypes[i];
175 field.label = ASCIIToUTF16("Phone:"); 175 field.label = ASCIIToUTF16("Phone:");
176 field.name = ASCIIToUTF16("area"); 176 field.name = ASCIIToUTF16("area");
177 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1"))); 177 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
178 178
179 field.label = base::string16(); 179 field.label = base::string16();
180 field.name = ASCIIToUTF16("prefix"); 180 field.name = ASCIIToUTF16("prefix");
181 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2"))); 181 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
182 182
183 field.label = base::string16(); 183 field.label = base::string16();
184 field.name = ASCIIToUTF16("suffix"); 184 field.name = ASCIIToUTF16("suffix");
185 list_.push_back(new AutofillField(field, ASCIIToUTF16("suffix3"))); 185 list_.push_back(new AutofillField(field, ASCIIToUTF16("suffix3")));
186 186
187 AutofillScanner scanner(list_.get()); 187 AutofillScanner scanner(list_.get());
188 field_ = Parse(&scanner); 188 field_ = Parse(&scanner);
189 ASSERT_NE(nullptr, field_.get()); 189 ASSERT_NE(nullptr, field_.get());
190 field_->AddClassifications(&field_candidates_map_); 190 field_->AddClassifications(&field_candidates_map_);
191 CheckField("areacode1", PHONE_HOME_CITY_CODE); 191 CheckField("areacode1", PHONE_HOME_CITY_CODE);
192 CheckField("prefix2", PHONE_HOME_NUMBER); 192 CheckField("prefix2", PHONE_HOME_NUMBER);
193 CheckField("suffix3", PHONE_HOME_NUMBER); 193 CheckField("suffix3", PHONE_HOME_NUMBER);
194 } 194 }
195 } 195 }
196 196
197 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix2) { 197 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix2) {
198 FormFieldData field; 198 FormFieldData field;
199 199
200 for (const char* field_type : kFieldTypes) { 200 for (size_t i = 0; i < arraysize(kFieldTypes); ++i) {
201 Clear(); 201 Clear();
202 202
203 field.form_control_type = field_type; 203 field.form_control_type = kFieldTypes[i];
204 field.label = ASCIIToUTF16("("); 204 field.label = ASCIIToUTF16("(");
205 field.name = ASCIIToUTF16("phone1"); 205 field.name = ASCIIToUTF16("phone1");
206 field.max_length = 3; 206 field.max_length = 3;
207 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1"))); 207 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1")));
208 208
209 field.label = ASCIIToUTF16(")"); 209 field.label = ASCIIToUTF16(")");
210 field.name = ASCIIToUTF16("phone2"); 210 field.name = ASCIIToUTF16("phone2");
211 field.max_length = 3; 211 field.max_length = 3;
212 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2"))); 212 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2")));
213 213
(...skipping 10 matching lines...) Expand all
224 CheckField("phone2", PHONE_HOME_NUMBER); 224 CheckField("phone2", PHONE_HOME_NUMBER);
225 CheckField("phone3", PHONE_HOME_NUMBER); 225 CheckField("phone3", PHONE_HOME_NUMBER);
226 } 226 }
227 } 227 }
228 228
229 TEST_F(PhoneFieldTest, CountryAndCityAndPhoneNumber) { 229 TEST_F(PhoneFieldTest, CountryAndCityAndPhoneNumber) {
230 // Phone in format <country code>:3 - <city and number>:10 230 // Phone in format <country code>:3 - <city and number>:10
231 // The |maxlength| is considered, otherwise it's too broad. 231 // The |maxlength| is considered, otherwise it's too broad.
232 FormFieldData field; 232 FormFieldData field;
233 233
234 for (const char* field_type : kFieldTypes) { 234 for (size_t i = 0; i < arraysize(kFieldTypes); ++i) {
235 Clear(); 235 Clear();
236 236
237 field.form_control_type = field_type; 237 field.form_control_type = kFieldTypes[i];
238 field.label = ASCIIToUTF16("Phone Number"); 238 field.label = ASCIIToUTF16("Phone Number");
239 field.name = ASCIIToUTF16("CountryCode"); 239 field.name = ASCIIToUTF16("CountryCode");
240 field.max_length = 3; 240 field.max_length = 3;
241 list_.push_back(new AutofillField(field, ASCIIToUTF16("country"))); 241 list_.push_back(new AutofillField(field, ASCIIToUTF16("country")));
242 242
243 field.label = ASCIIToUTF16("Phone Number"); 243 field.label = ASCIIToUTF16("Phone Number");
244 field.name = ASCIIToUTF16("PhoneNumber"); 244 field.name = ASCIIToUTF16("PhoneNumber");
245 field.max_length = 10; 245 field.max_length = 10;
246 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone"))); 246 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone")));
247 247
248 AutofillScanner scanner(list_.get()); 248 AutofillScanner scanner(list_.get());
249 field_ = Parse(&scanner); 249 field_ = Parse(&scanner);
250 ASSERT_NE(nullptr, field_.get()); 250 ASSERT_NE(nullptr, field_.get());
251 field_->AddClassifications(&field_candidates_map_); 251 field_->AddClassifications(&field_candidates_map_);
252 CheckField("country", PHONE_HOME_COUNTRY_CODE); 252 CheckField("country", PHONE_HOME_COUNTRY_CODE);
253 CheckField("phone", PHONE_HOME_CITY_AND_NUMBER); 253 CheckField("phone", PHONE_HOME_CITY_AND_NUMBER);
254 } 254 }
255 } 255 }
256 256
257 } // namespace autofill 257 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698