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

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

Issue 11198048: [Autofill] Update the autocomplete types implementation to match the current HTML spec. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update AutofillFieldTest expectations Created 8 years, 1 month 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 26 matching lines...) Expand all
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 FormFieldData field; 46 FormFieldData field;
47 field.form_control_type = ASCIIToUTF16("text"); 47 field.form_control_type = "text";
48 48
49 field.label = ASCIIToUTF16("Phone"); 49 field.label = ASCIIToUTF16("Phone");
50 field.name = ASCIIToUTF16("phone"); 50 field.name = ASCIIToUTF16("phone");
51 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1"))); 51 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1")));
52 52
53 AutofillScanner scanner(list_.get()); 53 AutofillScanner scanner(list_.get());
54 field_.reset(Parse(&scanner)); 54 field_.reset(Parse(&scanner));
55 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 55 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
56 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 56 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
57 ASSERT_TRUE( 57 ASSERT_TRUE(
58 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end()); 58 field_type_map_.find(ASCIIToUTF16("phone1")) != field_type_map_.end());
59 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]); 59 EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER, field_type_map_[ASCIIToUTF16("phone1")]);
60 } 60 }
61 61
62 TEST_F(PhoneFieldTest, ParseTwoLinePhone) { 62 TEST_F(PhoneFieldTest, ParseTwoLinePhone) {
63 FormFieldData field; 63 FormFieldData field;
64 field.form_control_type = ASCIIToUTF16("text"); 64 field.form_control_type = "text";
65 65
66 field.label = ASCIIToUTF16("Area Code"); 66 field.label = ASCIIToUTF16("Area Code");
67 field.name = ASCIIToUTF16("area code"); 67 field.name = ASCIIToUTF16("area code");
68 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1"))); 68 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
69 69
70 field.label = ASCIIToUTF16("Phone"); 70 field.label = ASCIIToUTF16("Phone");
71 field.name = ASCIIToUTF16("phone"); 71 field.name = ASCIIToUTF16("phone");
72 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2"))); 72 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2")));
73 73
74 AutofillScanner scanner(list_.get()); 74 AutofillScanner scanner(list_.get());
75 field_.reset(Parse(&scanner)); 75 field_.reset(Parse(&scanner));
76 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 76 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
77 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 77 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
78 ASSERT_TRUE( 78 ASSERT_TRUE(
79 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end()); 79 field_type_map_.find(ASCIIToUTF16("areacode1")) != field_type_map_.end());
80 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]); 80 EXPECT_EQ(PHONE_HOME_CITY_CODE, field_type_map_[ASCIIToUTF16("areacode1")]);
81 ASSERT_TRUE( 81 ASSERT_TRUE(
82 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end()); 82 field_type_map_.find(ASCIIToUTF16("phone2")) != field_type_map_.end());
83 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]); 83 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]);
84 } 84 }
85 85
86 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) { 86 TEST_F(PhoneFieldTest, ThreePartPhoneNumber) {
87 // Phone in format <field> - <field> - <field> could be either 87 // Phone in format <field> - <field> - <field> could be either
88 // <area code> - <prefix> - <suffix>, or 88 // <area code> - <prefix> - <suffix>, or
89 // <country code> - <area code> - <phone>. The only distinguishing feature is 89 // <country code> - <area code> - <phone>. The only distinguishing feature is
90 // 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
91 // than 4. 91 // than 4.
92 FormFieldData field; 92 FormFieldData field;
93 field.form_control_type = ASCIIToUTF16("text"); 93 field.form_control_type = "text";
94 94
95 field.label = ASCIIToUTF16("Phone:"); 95 field.label = ASCIIToUTF16("Phone:");
96 field.name = ASCIIToUTF16("dayphone1"); 96 field.name = ASCIIToUTF16("dayphone1");
97 field.max_length = 0; 97 field.max_length = 0;
98 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1"))); 98 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
99 99
100 field.label = ASCIIToUTF16("-"); 100 field.label = ASCIIToUTF16("-");
101 field.name = ASCIIToUTF16("dayphone2"); 101 field.name = ASCIIToUTF16("dayphone2");
102 field.max_length = 3; 102 field.max_length = 3;
103 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2"))); 103 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
(...skipping 23 matching lines...) Expand all
127 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]); 127 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]);
128 EXPECT_TRUE( 128 EXPECT_TRUE(
129 field_type_map_.find(ASCIIToUTF16("ext4")) == field_type_map_.end()); 129 field_type_map_.find(ASCIIToUTF16("ext4")) == field_type_map_.end());
130 } 130 }
131 131
132 // This scenario of explicitly labeled "prefix" and "suffix" phone numbers 132 // This scenario of explicitly labeled "prefix" and "suffix" phone numbers
133 // encountered in http://crbug.com/40694 with page 133 // encountered in http://crbug.com/40694 with page
134 // https://www.wrapables.com/jsp/Signup.jsp. 134 // https://www.wrapables.com/jsp/Signup.jsp.
135 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) { 135 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix) {
136 FormFieldData field; 136 FormFieldData field;
137 field.form_control_type = ASCIIToUTF16("text"); 137 field.form_control_type = "text";
138 138
139 field.label = ASCIIToUTF16("Phone:"); 139 field.label = ASCIIToUTF16("Phone:");
140 field.name = ASCIIToUTF16("area"); 140 field.name = ASCIIToUTF16("area");
141 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1"))); 141 list_.push_back(new AutofillField(field, ASCIIToUTF16("areacode1")));
142 142
143 field.label = string16(); 143 field.label = string16();
144 field.name = ASCIIToUTF16("prefix"); 144 field.name = ASCIIToUTF16("prefix");
145 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2"))); 145 list_.push_back(new AutofillField(field, ASCIIToUTF16("prefix2")));
146 146
147 field.label = string16(); 147 field.label = string16();
(...skipping 10 matching lines...) Expand all
158 ASSERT_TRUE( 158 ASSERT_TRUE(
159 field_type_map_.find(ASCIIToUTF16("prefix2")) != field_type_map_.end()); 159 field_type_map_.find(ASCIIToUTF16("prefix2")) != field_type_map_.end());
160 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix2")]); 160 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("prefix2")]);
161 ASSERT_TRUE( 161 ASSERT_TRUE(
162 field_type_map_.find(ASCIIToUTF16("suffix3")) != field_type_map_.end()); 162 field_type_map_.find(ASCIIToUTF16("suffix3")) != field_type_map_.end());
163 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]); 163 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("suffix3")]);
164 } 164 }
165 165
166 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix2) { 166 TEST_F(PhoneFieldTest, ThreePartPhoneNumberPrefixSuffix2) {
167 FormFieldData field; 167 FormFieldData field;
168 field.form_control_type = ASCIIToUTF16("text"); 168 field.form_control_type = "text";
169 169
170 field.label = ASCIIToUTF16("("); 170 field.label = ASCIIToUTF16("(");
171 field.name = ASCIIToUTF16("phone1"); 171 field.name = ASCIIToUTF16("phone1");
172 field.max_length = 3; 172 field.max_length = 3;
173 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1"))); 173 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone1")));
174 174
175 field.label = ASCIIToUTF16(")"); 175 field.label = ASCIIToUTF16(")");
176 field.name = ASCIIToUTF16("phone2"); 176 field.name = ASCIIToUTF16("phone2");
177 field.max_length = 3; 177 field.max_length = 3;
178 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2"))); 178 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone2")));
(...skipping 15 matching lines...) Expand all
194 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]); 194 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone2")]);
195 ASSERT_TRUE( 195 ASSERT_TRUE(
196 field_type_map_.find(ASCIIToUTF16("phone3")) != field_type_map_.end()); 196 field_type_map_.find(ASCIIToUTF16("phone3")) != field_type_map_.end());
197 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone3")]); 197 EXPECT_EQ(PHONE_HOME_NUMBER, field_type_map_[ASCIIToUTF16("phone3")]);
198 } 198 }
199 199
200 TEST_F(PhoneFieldTest, CountryAndCityAndPhoneNumber) { 200 TEST_F(PhoneFieldTest, CountryAndCityAndPhoneNumber) {
201 // Phone in format <country code>:3 - <city and number>:10 201 // Phone in format <country code>:3 - <city and number>:10
202 // The |maxlength| is considered, otherwise it's too broad. 202 // The |maxlength| is considered, otherwise it's too broad.
203 FormFieldData field; 203 FormFieldData field;
204 field.form_control_type = ASCIIToUTF16("text"); 204 field.form_control_type = "text";
205 205
206 field.label = ASCIIToUTF16("Phone Number"); 206 field.label = ASCIIToUTF16("Phone Number");
207 field.name = ASCIIToUTF16("CountryCode"); 207 field.name = ASCIIToUTF16("CountryCode");
208 field.max_length = 3; 208 field.max_length = 3;
209 list_.push_back(new AutofillField(field, ASCIIToUTF16("country"))); 209 list_.push_back(new AutofillField(field, ASCIIToUTF16("country")));
210 210
211 field.label = ASCIIToUTF16("Phone Number"); 211 field.label = ASCIIToUTF16("Phone Number");
212 field.name = ASCIIToUTF16("PhoneNumber"); 212 field.name = ASCIIToUTF16("PhoneNumber");
213 field.max_length = 10; 213 field.max_length = 10;
214 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone"))); 214 list_.push_back(new AutofillField(field, ASCIIToUTF16("phone")));
215 215
216 AutofillScanner scanner(list_.get()); 216 AutofillScanner scanner(list_.get());
217 field_.reset(Parse(&scanner)); 217 field_.reset(Parse(&scanner));
218 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get()); 218 ASSERT_NE(static_cast<PhoneField*>(NULL), field_.get());
219 ASSERT_TRUE(field_->ClassifyField(&field_type_map_)); 219 ASSERT_TRUE(field_->ClassifyField(&field_type_map_));
220 ASSERT_TRUE( 220 ASSERT_TRUE(
221 field_type_map_.find(ASCIIToUTF16("country")) != field_type_map_.end()); 221 field_type_map_.find(ASCIIToUTF16("country")) != field_type_map_.end());
222 EXPECT_EQ(PHONE_HOME_COUNTRY_CODE, field_type_map_[ASCIIToUTF16("country")]); 222 EXPECT_EQ(PHONE_HOME_COUNTRY_CODE, field_type_map_[ASCIIToUTF16("country")]);
223 ASSERT_TRUE( 223 ASSERT_TRUE(
224 field_type_map_.find(ASCIIToUTF16("phone")) != field_type_map_.end()); 224 field_type_map_.find(ASCIIToUTF16("phone")) != field_type_map_.end());
225 EXPECT_EQ(PHONE_HOME_CITY_AND_NUMBER, field_type_map_[ASCIIToUTF16("phone")]); 225 EXPECT_EQ(PHONE_HOME_CITY_AND_NUMBER, field_type_map_[ASCIIToUTF16("phone")]);
226 } 226 }
OLDNEW
« no previous file with comments | « chrome/browser/autofill/name_field_unittest.cc ('k') | chrome/browser/autofill/select_control_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698