OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/ref_counted.h" | 7 #include "base/ref_counted.h" |
8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
9 #include "base/scoped_vector.h" | 9 #include "base/scoped_vector.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 67 matching lines...) Loading... |
78 profile = new AutoFillProfile; | 78 profile = new AutoFillProfile; |
79 autofill_unittest::SetProfileInfo(profile, "Empty", "", "", "", "", "", "", | 79 autofill_unittest::SetProfileInfo(profile, "Empty", "", "", "", "", "", "", |
80 "", "", "", "", "", "", ""); | 80 "", "", "", "", "", "", ""); |
81 profiles->push_back(profile); | 81 profiles->push_back(profile); |
82 } | 82 } |
83 | 83 |
84 void CreateTestCreditCards(ScopedVector<CreditCard>* credit_cards) { | 84 void CreateTestCreditCards(ScopedVector<CreditCard>* credit_cards) { |
85 CreditCard* credit_card = new CreditCard; | 85 CreditCard* credit_card = new CreditCard; |
86 autofill_unittest::SetCreditCardInfo(credit_card, "First", "Elvis Presley", | 86 autofill_unittest::SetCreditCardInfo(credit_card, "First", "Elvis Presley", |
87 "Visa", "1234567890123456", "04", | 87 "Visa", "1234567890123456", "04", |
88 "2012", "456", "Home", ""); | 88 "2012", "Home"); |
89 credit_cards->push_back(credit_card); | 89 credit_cards->push_back(credit_card); |
90 credit_card = new CreditCard; | 90 credit_card = new CreditCard; |
91 autofill_unittest::SetCreditCardInfo(credit_card, "Second", "Buddy Holly", | 91 autofill_unittest::SetCreditCardInfo(credit_card, "Second", "Buddy Holly", |
92 "Mastercard", "0987654321098765", "10", | 92 "Mastercard", "0987654321098765", "10", |
93 "2014", "678", "", ""); | 93 "2014", ""); |
94 credit_cards->push_back(credit_card); | 94 credit_cards->push_back(credit_card); |
95 credit_card = new CreditCard; | 95 credit_card = new CreditCard; |
96 autofill_unittest::SetCreditCardInfo(credit_card, "Empty", "", "", "", "", | 96 autofill_unittest::SetCreditCardInfo(credit_card, "Empty", "", "", "", "", |
97 "", "", "", ""); | 97 "", ""); |
98 credit_cards->push_back(credit_card); | 98 credit_cards->push_back(credit_card); |
99 } | 99 } |
100 | 100 |
101 DISALLOW_COPY_AND_ASSIGN(TestPersonalDataManager); | 101 DISALLOW_COPY_AND_ASSIGN(TestPersonalDataManager); |
102 }; | 102 }; |
103 | 103 |
104 class TestAutoFillManager : public AutoFillManager { | 104 class TestAutoFillManager : public AutoFillManager { |
105 public: | 105 public: |
106 explicit TestAutoFillManager(TabContents* tab_contents) | 106 explicit TestAutoFillManager(TabContents* tab_contents) |
107 : AutoFillManager(tab_contents, NULL) { | 107 : AutoFillManager(tab_contents, NULL) { |
(...skipping 10 matching lines...) Loading... |
118 void AddSemicolonAutoFillProfile() { | 118 void AddSemicolonAutoFillProfile() { |
119 test_personal_data_->AddSemicolonAutoFillProfile(); | 119 test_personal_data_->AddSemicolonAutoFillProfile(); |
120 } | 120 } |
121 | 121 |
122 private: | 122 private: |
123 scoped_refptr<TestPersonalDataManager> test_personal_data_; | 123 scoped_refptr<TestPersonalDataManager> test_personal_data_; |
124 | 124 |
125 DISALLOW_COPY_AND_ASSIGN(TestAutoFillManager); | 125 DISALLOW_COPY_AND_ASSIGN(TestAutoFillManager); |
126 }; | 126 }; |
127 | 127 |
128 void CreateTestFormField(const char* label, | |
129 const char* name, | |
130 const char* value, | |
131 const char* type, | |
132 webkit_glue::FormField* field) { | |
133 *field = webkit_glue::FormField(ASCIIToUTF16(label), ASCIIToUTF16(name), | |
134 ASCIIToUTF16(value), ASCIIToUTF16(type), 0); | |
135 } | |
136 | |
137 void CreateTestFormData(FormData* form) { | 128 void CreateTestFormData(FormData* form) { |
138 form->name = ASCIIToUTF16("MyForm"); | 129 form->name = ASCIIToUTF16("MyForm"); |
139 form->method = ASCIIToUTF16("POST"); | 130 form->method = ASCIIToUTF16("POST"); |
140 form->origin = GURL("http://myform.com/form.html"); | 131 form->origin = GURL("http://myform.com/form.html"); |
141 form->action = GURL("http://myform.com/submit.html"); | 132 form->action = GURL("http://myform.com/submit.html"); |
142 | 133 |
143 webkit_glue::FormField field; | 134 webkit_glue::FormField field; |
144 CreateTestFormField("First Name", "firstname", "", "text", &field); | 135 autofill_unittest::CreateTestFormField( |
| 136 "First Name", "firstname", "", "text", &field); |
145 form->fields.push_back(field); | 137 form->fields.push_back(field); |
146 CreateTestFormField("Middle Name", "middlename", "", "text", &field); | 138 autofill_unittest::CreateTestFormField( |
| 139 "Middle Name", "middlename", "", "text", &field); |
147 form->fields.push_back(field); | 140 form->fields.push_back(field); |
148 CreateTestFormField("Last Name", "lastname", "", "text", &field); | 141 autofill_unittest::CreateTestFormField( |
| 142 "Last Name", "lastname", "", "text", &field); |
149 form->fields.push_back(field); | 143 form->fields.push_back(field); |
150 CreateTestFormField("Address Line 1", "addr1", "", "text", &field); | 144 autofill_unittest::CreateTestFormField( |
| 145 "Address Line 1", "addr1", "", "text", &field); |
151 form->fields.push_back(field); | 146 form->fields.push_back(field); |
152 CreateTestFormField("Address Line 2", "addr2", "", "text", &field); | 147 autofill_unittest::CreateTestFormField( |
| 148 "Address Line 2", "addr2", "", "text", &field); |
153 form->fields.push_back(field); | 149 form->fields.push_back(field); |
154 CreateTestFormField("City", "city", "", "text", &field); | 150 autofill_unittest::CreateTestFormField( |
| 151 "City", "city", "", "text", &field); |
155 form->fields.push_back(field); | 152 form->fields.push_back(field); |
156 CreateTestFormField("State", "state", "", "text", &field); | 153 autofill_unittest::CreateTestFormField( |
| 154 "State", "state", "", "text", &field); |
157 form->fields.push_back(field); | 155 form->fields.push_back(field); |
158 CreateTestFormField("Postal Code", "zipcode", "", "text", &field); | 156 autofill_unittest::CreateTestFormField( |
| 157 "Postal Code", "zipcode", "", "text", &field); |
159 form->fields.push_back(field); | 158 form->fields.push_back(field); |
160 CreateTestFormField("Country", "country", "", "text", &field); | 159 autofill_unittest::CreateTestFormField( |
| 160 "Country", "country", "", "text", &field); |
161 form->fields.push_back(field); | 161 form->fields.push_back(field); |
162 CreateTestFormField("Phone Number", "phonenumber", "", "text", &field); | 162 autofill_unittest::CreateTestFormField( |
| 163 "Phone Number", "phonenumber", "", "text", &field); |
163 form->fields.push_back(field); | 164 form->fields.push_back(field); |
164 CreateTestFormField("Email", "email", "", "text", &field); | 165 autofill_unittest::CreateTestFormField( |
| 166 "Email", "email", "", "text", &field); |
165 form->fields.push_back(field); | 167 form->fields.push_back(field); |
166 } | 168 } |
167 | 169 |
168 void CreateTestFormDataBilling(FormData* form) { | 170 void CreateTestFormDataBilling(FormData* form) { |
169 form->name = ASCIIToUTF16("MyForm"); | 171 form->name = ASCIIToUTF16("MyForm"); |
170 form->method = ASCIIToUTF16("POST"); | 172 form->method = ASCIIToUTF16("POST"); |
171 form->origin = GURL("http://myform.com/form.html"); | 173 form->origin = GURL("http://myform.com/form.html"); |
172 form->action = GURL("http://myform.com/submit.html"); | 174 form->action = GURL("http://myform.com/submit.html"); |
173 | 175 |
174 webkit_glue::FormField field; | 176 webkit_glue::FormField field; |
175 CreateTestFormField("First Name", "firstname", "", "text", &field); | 177 autofill_unittest::CreateTestFormField( |
| 178 "First Name", "firstname", "", "text", &field); |
176 form->fields.push_back(field); | 179 form->fields.push_back(field); |
177 CreateTestFormField("Middle Name", "middlename", "", "text", &field); | 180 autofill_unittest::CreateTestFormField( |
| 181 "Middle Name", "middlename", "", "text", &field); |
178 form->fields.push_back(field); | 182 form->fields.push_back(field); |
179 CreateTestFormField("Last Name", "lastname", "", "text", &field); | 183 autofill_unittest::CreateTestFormField( |
| 184 "Last Name", "lastname", "", "text", &field); |
180 form->fields.push_back(field); | 185 form->fields.push_back(field); |
181 CreateTestFormField("Address Line 1", "billingAddr1", "", "text", &field); | 186 autofill_unittest::CreateTestFormField( |
| 187 "Address Line 1", "billingAddr1", "", "text", &field); |
182 form->fields.push_back(field); | 188 form->fields.push_back(field); |
183 CreateTestFormField("Address Line 2", "billingAddr2", "", "text", &field); | 189 autofill_unittest::CreateTestFormField( |
| 190 "Address Line 2", "billingAddr2", "", "text", &field); |
184 form->fields.push_back(field); | 191 form->fields.push_back(field); |
185 CreateTestFormField("City", "billingCity", "", "text", &field); | 192 autofill_unittest::CreateTestFormField( |
| 193 "City", "billingCity", "", "text", &field); |
186 form->fields.push_back(field); | 194 form->fields.push_back(field); |
187 CreateTestFormField("State", "billingState", "", "text", &field); | 195 autofill_unittest::CreateTestFormField( |
| 196 "State", "billingState", "", "text", &field); |
188 form->fields.push_back(field); | 197 form->fields.push_back(field); |
189 CreateTestFormField("Postal Code", "billingZipcode", "", "text", &field); | 198 autofill_unittest::CreateTestFormField( |
| 199 "Postal Code", "billingZipcode", "", "text", &field); |
190 form->fields.push_back(field); | 200 form->fields.push_back(field); |
191 CreateTestFormField("Country", "billingCountry", "", "text", &field); | 201 autofill_unittest::CreateTestFormField( |
| 202 "Country", "billingCountry", "", "text", &field); |
192 form->fields.push_back(field); | 203 form->fields.push_back(field); |
193 CreateTestFormField("Phone Number", "phonenumber", "", "text", &field); | 204 autofill_unittest::CreateTestFormField( |
| 205 "Phone Number", "phonenumber", "", "text", &field); |
194 form->fields.push_back(field); | 206 form->fields.push_back(field); |
195 CreateTestFormField("Email", "email", "", "text", &field); | 207 autofill_unittest::CreateTestFormField( |
| 208 "Email", "email", "", "text", &field); |
196 form->fields.push_back(field); | 209 form->fields.push_back(field); |
197 CreateTestFormField("Name on Card", "nameoncard", "", "text", &field); | 210 autofill_unittest::CreateTestFormField( |
| 211 "Name on Card", "nameoncard", "", "text", &field); |
198 form->fields.push_back(field); | 212 form->fields.push_back(field); |
199 CreateTestFormField("Card Number", "cardnumber", "", "text", &field); | 213 autofill_unittest::CreateTestFormField( |
| 214 "Card Number", "cardnumber", "", "text", &field); |
200 form->fields.push_back(field); | 215 form->fields.push_back(field); |
201 CreateTestFormField("Expiration Date", "ccmonth", "", "text", &field); | 216 autofill_unittest::CreateTestFormField( |
| 217 "Expiration Date", "ccmonth", "", "text", &field); |
202 form->fields.push_back(field); | 218 form->fields.push_back(field); |
203 CreateTestFormField("", "ccyear", "", "text", &field); | 219 autofill_unittest::CreateTestFormField( |
| 220 "", "ccyear", "", "text", &field); |
204 form->fields.push_back(field); | 221 form->fields.push_back(field); |
205 } | 222 } |
206 | 223 |
207 class AutoFillManagerTest : public RenderViewHostTestHarness { | 224 class AutoFillManagerTest : public RenderViewHostTestHarness { |
208 public: | 225 public: |
209 AutoFillManagerTest() {} | 226 AutoFillManagerTest() {} |
210 | 227 |
211 virtual void SetUp() { | 228 virtual void SetUp() { |
212 RenderViewHostTestHarness::SetUp(); | 229 RenderViewHostTestHarness::SetUp(); |
213 autofill_manager_.reset(new TestAutoFillManager(contents())); | 230 autofill_manager_.reset(new TestAutoFillManager(contents())); |
(...skipping 53 matching lines...) Loading... |
267 // Set up our FormStructures. | 284 // Set up our FormStructures. |
268 std::vector<FormData> forms; | 285 std::vector<FormData> forms; |
269 forms.push_back(form); | 286 forms.push_back(form); |
270 autofill_manager_->FormsSeen(forms); | 287 autofill_manager_->FormsSeen(forms); |
271 | 288 |
272 // The page ID sent to the AutoFillManager from the RenderView, used to send | 289 // The page ID sent to the AutoFillManager from the RenderView, used to send |
273 // an IPC message back to the renderer. | 290 // an IPC message back to the renderer. |
274 const int kPageID = 1; | 291 const int kPageID = 1; |
275 | 292 |
276 webkit_glue::FormField field; | 293 webkit_glue::FormField field; |
277 CreateTestFormField("First Name", "firstname", "", "text", &field); | 294 autofill_unittest::CreateTestFormField( |
| 295 "First Name", "firstname", "", "text", &field); |
278 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); | 296 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); |
279 | 297 |
280 // Test that we sent the right message to the renderer. | 298 // Test that we sent the right message to the renderer. |
281 int page_id = 0; | 299 int page_id = 0; |
282 std::vector<string16> values; | 300 std::vector<string16> values; |
283 std::vector<string16> labels; | 301 std::vector<string16> labels; |
284 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 302 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
285 EXPECT_EQ(kPageID, page_id); | 303 EXPECT_EQ(kPageID, page_id); |
286 ASSERT_EQ(2U, values.size()); | 304 ASSERT_EQ(2U, values.size()); |
287 EXPECT_EQ(ASCIIToUTF16("Elvis"), values[0]); | 305 EXPECT_EQ(ASCIIToUTF16("Elvis"), values[0]); |
(...skipping 10 matching lines...) Loading... |
298 // Set up our FormStructures. | 316 // Set up our FormStructures. |
299 std::vector<FormData> forms; | 317 std::vector<FormData> forms; |
300 forms.push_back(form); | 318 forms.push_back(form); |
301 autofill_manager_->FormsSeen(forms); | 319 autofill_manager_->FormsSeen(forms); |
302 | 320 |
303 // The page ID sent to the AutoFillManager from the RenderView, used to send | 321 // The page ID sent to the AutoFillManager from the RenderView, used to send |
304 // an IPC message back to the renderer. | 322 // an IPC message back to the renderer. |
305 const int kPageID = 1; | 323 const int kPageID = 1; |
306 | 324 |
307 webkit_glue::FormField field; | 325 webkit_glue::FormField field; |
308 CreateTestFormField("First Name", "firstname", "E", "text", &field); | 326 autofill_unittest::CreateTestFormField( |
| 327 "First Name", "firstname", "E", "text", &field); |
309 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); | 328 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); |
310 | 329 |
311 // Test that we sent the right message to the renderer. | 330 // Test that we sent the right message to the renderer. |
312 int page_id = 0; | 331 int page_id = 0; |
313 std::vector<string16> values; | 332 std::vector<string16> values; |
314 std::vector<string16> labels; | 333 std::vector<string16> labels; |
315 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 334 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
316 EXPECT_EQ(kPageID, page_id); | 335 EXPECT_EQ(kPageID, page_id); |
317 ASSERT_EQ(1U, values.size()); | 336 ASSERT_EQ(1U, values.size()); |
318 EXPECT_EQ(ASCIIToUTF16("Elvis"), values[0]); | 337 EXPECT_EQ(ASCIIToUTF16("Elvis"), values[0]); |
319 ASSERT_EQ(1U, labels.size()); | 338 ASSERT_EQ(1U, labels.size()); |
320 EXPECT_EQ(ASCIIToUTF16("Home"), labels[0]); | 339 EXPECT_EQ(ASCIIToUTF16("Home"), labels[0]); |
321 } | 340 } |
322 | 341 |
323 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsEmptyValue) { | 342 TEST_F(AutoFillManagerTest, GetCreditCardSuggestionsEmptyValue) { |
324 FormData form; | 343 FormData form; |
325 CreateTestFormDataBilling(&form); | 344 CreateTestFormDataBilling(&form); |
326 | 345 |
327 // Set up our FormStructures. | 346 // Set up our FormStructures. |
328 std::vector<FormData> forms; | 347 std::vector<FormData> forms; |
329 forms.push_back(form); | 348 forms.push_back(form); |
330 autofill_manager_->FormsSeen(forms); | 349 autofill_manager_->FormsSeen(forms); |
331 | 350 |
332 // The page ID sent to the AutoFillManager from the RenderView, used to send | 351 // The page ID sent to the AutoFillManager from the RenderView, used to send |
333 // an IPC message back to the renderer. | 352 // an IPC message back to the renderer. |
334 const int kPageID = 1; | 353 const int kPageID = 1; |
335 | 354 |
336 webkit_glue::FormField field; | 355 webkit_glue::FormField field; |
337 CreateTestFormField("Card Number", "cardnumber", "", "text", &field); | 356 autofill_unittest::CreateTestFormField( |
| 357 "Card Number", "cardnumber", "", "text", &field); |
338 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); | 358 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); |
339 | 359 |
340 // Test that we sent the right message to the renderer. | 360 // Test that we sent the right message to the renderer. |
341 int page_id = 0; | 361 int page_id = 0; |
342 std::vector<string16> values; | 362 std::vector<string16> values; |
343 std::vector<string16> labels; | 363 std::vector<string16> labels; |
344 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 364 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
345 EXPECT_EQ(kPageID, page_id); | 365 EXPECT_EQ(kPageID, page_id); |
346 ASSERT_EQ(6U, values.size()); | 366 ASSERT_EQ(6U, values.size()); |
347 EXPECT_EQ(ASCIIToUTF16("************3456"), values[0]); | 367 EXPECT_EQ(ASCIIToUTF16("************3456"), values[0]); |
(...skipping 18 matching lines...) Loading... |
366 // Set up our FormStructures. | 386 // Set up our FormStructures. |
367 std::vector<FormData> forms; | 387 std::vector<FormData> forms; |
368 forms.push_back(form); | 388 forms.push_back(form); |
369 autofill_manager_->FormsSeen(forms); | 389 autofill_manager_->FormsSeen(forms); |
370 | 390 |
371 // The page ID sent to the AutoFillManager from the RenderView, used to send | 391 // The page ID sent to the AutoFillManager from the RenderView, used to send |
372 // an IPC message back to the renderer. | 392 // an IPC message back to the renderer. |
373 const int kPageID = 1; | 393 const int kPageID = 1; |
374 | 394 |
375 webkit_glue::FormField field; | 395 webkit_glue::FormField field; |
376 CreateTestFormField("Card Number", "cardnumber", "1", "text", &field); | 396 autofill_unittest::CreateTestFormField( |
| 397 "Card Number", "cardnumber", "1", "text", &field); |
377 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); | 398 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); |
378 | 399 |
379 // Test that we sent the right message to the renderer. | 400 // Test that we sent the right message to the renderer. |
380 int page_id = 0; | 401 int page_id = 0; |
381 std::vector<string16> values; | 402 std::vector<string16> values; |
382 std::vector<string16> labels; | 403 std::vector<string16> labels; |
383 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 404 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
384 EXPECT_EQ(kPageID, page_id); | 405 EXPECT_EQ(kPageID, page_id); |
385 ASSERT_EQ(3U, values.size()); | 406 ASSERT_EQ(3U, values.size()); |
386 EXPECT_EQ(ASCIIToUTF16("************3456"), values[0]); | 407 EXPECT_EQ(ASCIIToUTF16("************3456"), values[0]); |
(...skipping 12 matching lines...) Loading... |
399 // Set up our FormStructures. | 420 // Set up our FormStructures. |
400 std::vector<FormData> forms; | 421 std::vector<FormData> forms; |
401 forms.push_back(form); | 422 forms.push_back(form); |
402 autofill_manager_->FormsSeen(forms); | 423 autofill_manager_->FormsSeen(forms); |
403 | 424 |
404 // The page ID sent to the AutoFillManager from the RenderView, used to send | 425 // The page ID sent to the AutoFillManager from the RenderView, used to send |
405 // an IPC message back to the renderer. | 426 // an IPC message back to the renderer. |
406 const int kPageID = 1; | 427 const int kPageID = 1; |
407 | 428 |
408 webkit_glue::FormField field; | 429 webkit_glue::FormField field; |
409 CreateTestFormField("Name on Card", "nameoncard", "", "text", &field); | 430 autofill_unittest::CreateTestFormField( |
| 431 "Name on Card", "nameoncard", "", "text", &field); |
410 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); | 432 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); |
411 | 433 |
412 // Test that we sent the right message to the renderer. | 434 // Test that we sent the right message to the renderer. |
413 int page_id = 0; | 435 int page_id = 0; |
414 std::vector<string16> values; | 436 std::vector<string16> values; |
415 std::vector<string16> labels; | 437 std::vector<string16> labels; |
416 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 438 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
417 EXPECT_EQ(kPageID, page_id); | 439 EXPECT_EQ(kPageID, page_id); |
418 ASSERT_EQ(6U, values.size()); | 440 ASSERT_EQ(6U, values.size()); |
419 EXPECT_EQ(ASCIIToUTF16("Elvis Presley"), values[0]); | 441 EXPECT_EQ(ASCIIToUTF16("Elvis Presley"), values[0]); |
(...skipping 20 matching lines...) Loading... |
440 // Set up our FormStructures. | 462 // Set up our FormStructures. |
441 std::vector<FormData> forms; | 463 std::vector<FormData> forms; |
442 forms.push_back(form); | 464 forms.push_back(form); |
443 autofill_manager_->FormsSeen(forms); | 465 autofill_manager_->FormsSeen(forms); |
444 | 466 |
445 // The page ID sent to the AutoFillManager from the RenderView, used to send | 467 // The page ID sent to the AutoFillManager from the RenderView, used to send |
446 // an IPC message back to the renderer. | 468 // an IPC message back to the renderer. |
447 const int kPageID = 1; | 469 const int kPageID = 1; |
448 | 470 |
449 webkit_glue::FormField field; | 471 webkit_glue::FormField field; |
450 CreateTestFormField("Name on Card", "nameoncard", "", "text", &field); | 472 autofill_unittest::CreateTestFormField( |
| 473 "Name on Card", "nameoncard", "", "text", &field); |
451 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); | 474 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, false, field)); |
452 | 475 |
453 // Test that we sent the right message to the renderer. | 476 // Test that we sent the right message to the renderer. |
454 int page_id = 0; | 477 int page_id = 0; |
455 std::vector<string16> values; | 478 std::vector<string16> values; |
456 std::vector<string16> labels; | 479 std::vector<string16> labels; |
457 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 480 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
458 EXPECT_EQ(kPageID, page_id); | 481 EXPECT_EQ(kPageID, page_id); |
459 ASSERT_EQ(8U, values.size()); | 482 ASSERT_EQ(8U, values.size()); |
460 EXPECT_EQ(ASCIIToUTF16("Elvis Presley"), values[0]); | 483 EXPECT_EQ(ASCIIToUTF16("Elvis Presley"), values[0]); |
(...skipping 22 matching lines...) Loading... |
483 // Set up our FormStructures. | 506 // Set up our FormStructures. |
484 std::vector<FormData> forms; | 507 std::vector<FormData> forms; |
485 forms.push_back(form); | 508 forms.push_back(form); |
486 autofill_manager_->FormsSeen(forms); | 509 autofill_manager_->FormsSeen(forms); |
487 | 510 |
488 // The page ID sent to the AutoFillManager from the RenderView, used to send | 511 // The page ID sent to the AutoFillManager from the RenderView, used to send |
489 // an IPC message back to the renderer. | 512 // an IPC message back to the renderer. |
490 const int kPageID = 1; | 513 const int kPageID = 1; |
491 | 514 |
492 webkit_glue::FormField field; | 515 webkit_glue::FormField field; |
493 CreateTestFormField("First Name", "firstname", "", "text", &field); | 516 autofill_unittest::CreateTestFormField( |
| 517 "First Name", "firstname", "", "text", &field); |
494 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, true, field)); | 518 EXPECT_TRUE(autofill_manager_->GetAutoFillSuggestions(kPageID, true, field)); |
495 | 519 |
496 // Test that we sent the right message to the renderer. | 520 // Test that we sent the right message to the renderer. |
497 int page_id = 0; | 521 int page_id = 0; |
498 std::vector<string16> values; | 522 std::vector<string16> values; |
499 std::vector<string16> labels; | 523 std::vector<string16> labels; |
500 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); | 524 EXPECT_TRUE(GetAutoFillSuggestionsMessage(&page_id, &values, &labels)); |
501 EXPECT_EQ(kPageID, page_id); | 525 EXPECT_EQ(kPageID, page_id); |
502 ASSERT_EQ(2U, values.size()); | 526 ASSERT_EQ(2U, values.size()); |
503 EXPECT_EQ(ASCIIToUTF16("Elvis"), values[0]); | 527 EXPECT_EQ(ASCIIToUTF16("Elvis"), values[0]); |
(...skipping 24 matching lines...) Loading... |
528 int page_id = 0; | 552 int page_id = 0; |
529 FormData results; | 553 FormData results; |
530 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); | 554 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); |
531 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); | 555 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
532 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); | 556 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
533 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); | 557 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); |
534 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); | 558 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); |
535 ASSERT_EQ(15U, results.fields.size()); | 559 ASSERT_EQ(15U, results.fields.size()); |
536 | 560 |
537 webkit_glue::FormField field; | 561 webkit_glue::FormField field; |
538 CreateTestFormField("First Name", "firstname", "Elvis", "text", &field); | 562 autofill_unittest::CreateTestFormField( |
| 563 "First Name", "firstname", "Elvis", "text", &field); |
539 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); | 564 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); |
540 CreateTestFormField("Middle Name", "middlename", "Aaron", "text", &field); | 565 autofill_unittest::CreateTestFormField( |
| 566 "Middle Name", "middlename", "Aaron", "text", &field); |
541 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); | 567 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); |
542 CreateTestFormField("Last Name", "lastname", "Presley", "text", &field); | 568 autofill_unittest::CreateTestFormField( |
| 569 "Last Name", "lastname", "Presley", "text", &field); |
543 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); | 570 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); |
544 CreateTestFormField("Address Line 1", "billingAddr1", | 571 autofill_unittest::CreateTestFormField( |
| 572 "Address Line 1", "billingAddr1", |
545 "3734 Elvis Presley Blvd.", "text", &field); | 573 "3734 Elvis Presley Blvd.", "text", &field); |
546 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); | 574 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); |
547 CreateTestFormField( | 575 autofill_unittest::CreateTestFormField( |
548 "Address Line 2", "billingAddr2", "Apt. 10", "text", &field); | 576 "Address Line 2", "billingAddr2", "Apt. 10", "text", &field); |
549 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); | 577 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); |
550 CreateTestFormField("City", "billingCity", "Memphis", "text", &field); | 578 autofill_unittest::CreateTestFormField( |
| 579 "City", "billingCity", "Memphis", "text", &field); |
551 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[5])); | 580 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[5])); |
552 CreateTestFormField("State", "billingState", "Tennessee", "text", &field); | 581 autofill_unittest::CreateTestFormField( |
| 582 "State", "billingState", "Tennessee", "text", &field); |
553 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[6])); | 583 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[6])); |
554 CreateTestFormField("Postal Code", "billingZipcode", "38116", "text", &field); | 584 autofill_unittest::CreateTestFormField( |
| 585 "Postal Code", "billingZipcode", "38116", "text", &field); |
555 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[7])); | 586 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[7])); |
556 CreateTestFormField("Country", "billingCountry", "USA", "text", &field); | 587 autofill_unittest::CreateTestFormField( |
| 588 "Country", "billingCountry", "USA", "text", &field); |
557 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[8])); | 589 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[8])); |
558 CreateTestFormField( | 590 autofill_unittest::CreateTestFormField( |
559 "Phone Number", "phonenumber", "12345678901", "text", &field); | 591 "Phone Number", "phonenumber", "12345678901", "text", &field); |
560 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[9])); | 592 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[9])); |
561 CreateTestFormField("Email", "email", "theking@gmail.com", "text", &field); | 593 autofill_unittest::CreateTestFormField( |
| 594 "Email", "email", "theking@gmail.com", "text", &field); |
562 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[10])); | 595 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[10])); |
563 CreateTestFormField( | 596 autofill_unittest::CreateTestFormField( |
564 "Name on Card", "nameoncard", "Elvis Presley", "text", &field); | 597 "Name on Card", "nameoncard", "Elvis Presley", "text", &field); |
565 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[11])); | 598 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[11])); |
566 CreateTestFormField( | 599 autofill_unittest::CreateTestFormField( |
567 "Card Number", "cardnumber", "1234567890123456", "text", &field); | 600 "Card Number", "cardnumber", "1234567890123456", "text", &field); |
568 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[12])); | 601 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[12])); |
569 CreateTestFormField("Expiration Date", "ccmonth", "04", "text", &field); | 602 autofill_unittest::CreateTestFormField( |
| 603 "Expiration Date", "ccmonth", "04", "text", &field); |
570 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[13])); | 604 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[13])); |
571 CreateTestFormField("", "ccyear", "2012", "text", &field); | 605 autofill_unittest::CreateTestFormField( |
| 606 "", "ccyear", "2012", "text", &field); |
572 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[14])); | 607 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[14])); |
573 } | 608 } |
574 | 609 |
575 TEST_F(AutoFillManagerTest, FillNonBillingFormSemicolon) { | 610 TEST_F(AutoFillManagerTest, FillNonBillingFormSemicolon) { |
576 AddSemicolonAutoFillProfile(); | 611 AddSemicolonAutoFillProfile(); |
577 | 612 |
578 FormData form; | 613 FormData form; |
579 CreateTestFormData(&form); | 614 CreateTestFormData(&form); |
580 | 615 |
581 // Set up our FormStructures. | 616 // Set up our FormStructures. |
(...skipping 13 matching lines...) Loading... |
595 int page_id = 0; | 630 int page_id = 0; |
596 FormData results; | 631 FormData results; |
597 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); | 632 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); |
598 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); | 633 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
599 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); | 634 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
600 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); | 635 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); |
601 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); | 636 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); |
602 ASSERT_EQ(11U, results.fields.size()); | 637 ASSERT_EQ(11U, results.fields.size()); |
603 | 638 |
604 webkit_glue::FormField field; | 639 webkit_glue::FormField field; |
605 CreateTestFormField("First Name", "firstname", "Joe", "text", &field); | 640 autofill_unittest::CreateTestFormField( |
| 641 "First Name", "firstname", "Joe", "text", &field); |
606 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); | 642 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); |
607 CreateTestFormField("Middle Name", "middlename", "", "text", &field); | 643 autofill_unittest::CreateTestFormField( |
| 644 "Middle Name", "middlename", "", "text", &field); |
608 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); | 645 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); |
609 CreateTestFormField("Last Name", "lastname", "Ely", "text", &field); | 646 autofill_unittest::CreateTestFormField( |
| 647 "Last Name", "lastname", "Ely", "text", &field); |
610 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); | 648 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); |
611 CreateTestFormField( | 649 autofill_unittest::CreateTestFormField( |
612 "Address Line 1", "addr1", "916 16th St.", "text", &field); | 650 "Address Line 1", "addr1", "916 16th St.", "text", &field); |
613 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); | 651 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); |
614 CreateTestFormField( | 652 autofill_unittest::CreateTestFormField( |
615 "Address Line 2", "addr2", "Apt. 6", "text", &field); | 653 "Address Line 2", "addr2", "Apt. 6", "text", &field); |
616 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); | 654 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); |
617 CreateTestFormField("City", "city", "Lubbock", "text", &field); | 655 autofill_unittest::CreateTestFormField( |
| 656 "City", "city", "Lubbock", "text", &field); |
618 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[5])); | 657 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[5])); |
619 CreateTestFormField("State", "state", "Texas", "text", &field); | 658 autofill_unittest::CreateTestFormField( |
| 659 "State", "state", "Texas", "text", &field); |
620 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[6])); | 660 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[6])); |
621 CreateTestFormField("Postal Code", "zipcode", "79401", "text", &field); | 661 autofill_unittest::CreateTestFormField( |
| 662 "Postal Code", "zipcode", "79401", "text", &field); |
622 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[7])); | 663 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[7])); |
623 CreateTestFormField("Country", "country", "USA", "text", &field); | 664 autofill_unittest::CreateTestFormField( |
| 665 "Country", "country", "USA", "text", &field); |
624 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[8])); | 666 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[8])); |
625 CreateTestFormField( | 667 autofill_unittest::CreateTestFormField( |
626 "Phone Number", "phonenumber", "12345678901", "text", &field); | 668 "Phone Number", "phonenumber", "12345678901", "text", &field); |
627 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[9])); | 669 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[9])); |
628 CreateTestFormField("Email", "email", "flatlander@gmail.com", "text", &field); | 670 autofill_unittest::CreateTestFormField( |
| 671 "Email", "email", "flatlander@gmail.com", "text", &field); |
629 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[10])); | 672 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[10])); |
630 } | 673 } |
631 | 674 |
632 TEST_F(AutoFillManagerTest, FillBillFormSemicolon) { | 675 TEST_F(AutoFillManagerTest, FillBillFormSemicolon) { |
633 AddSemicolonAutoFillProfile(); | 676 AddSemicolonAutoFillProfile(); |
634 | 677 |
635 FormData form; | 678 FormData form; |
636 CreateTestFormDataBilling(&form); | 679 CreateTestFormDataBilling(&form); |
637 | 680 |
638 // Set up our FormStructures. | 681 // Set up our FormStructures. |
(...skipping 10 matching lines...) Loading... |
649 int page_id = 0; | 692 int page_id = 0; |
650 FormData results; | 693 FormData results; |
651 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); | 694 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); |
652 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); | 695 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
653 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); | 696 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
654 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); | 697 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); |
655 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); | 698 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); |
656 ASSERT_EQ(15U, results.fields.size()); | 699 ASSERT_EQ(15U, results.fields.size()); |
657 | 700 |
658 webkit_glue::FormField field; | 701 webkit_glue::FormField field; |
659 CreateTestFormField("First Name", "firstname", "Joe", "text", &field); | 702 autofill_unittest::CreateTestFormField( |
| 703 "First Name", "firstname", "Joe", "text", &field); |
660 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); | 704 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); |
661 CreateTestFormField("Middle Name", "middlename", "", "text", &field); | 705 autofill_unittest::CreateTestFormField( |
| 706 "Middle Name", "middlename", "", "text", &field); |
662 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); | 707 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); |
663 CreateTestFormField("Last Name", "lastname", "Ely", "text", &field); | 708 autofill_unittest::CreateTestFormField( |
| 709 "Last Name", "lastname", "Ely", "text", &field); |
664 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); | 710 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); |
665 CreateTestFormField("Address Line 1", "billingAddr1", | 711 autofill_unittest::CreateTestFormField( |
| 712 "Address Line 1", "billingAddr1", |
666 "3734 Elvis Presley Blvd.", "text", &field); | 713 "3734 Elvis Presley Blvd.", "text", &field); |
667 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); | 714 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); |
668 CreateTestFormField( | 715 autofill_unittest::CreateTestFormField( |
669 "Address Line 2", "billingAddr2", "Apt. 10", "text", &field); | 716 "Address Line 2", "billingAddr2", "Apt. 10", "text", &field); |
670 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); | 717 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); |
671 CreateTestFormField("City", "billingCity", "Memphis", "text", &field); | 718 autofill_unittest::CreateTestFormField( |
| 719 "City", "billingCity", "Memphis", "text", &field); |
672 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[5])); | 720 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[5])); |
673 CreateTestFormField("State", "billingState", "Tennessee", "text", &field); | 721 autofill_unittest::CreateTestFormField( |
| 722 "State", "billingState", "Tennessee", "text", &field); |
674 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[6])); | 723 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[6])); |
675 CreateTestFormField("Postal Code", "billingZipcode", "38116", "text", &field); | 724 autofill_unittest::CreateTestFormField( |
| 725 "Postal Code", "billingZipcode", "38116", "text", &field); |
676 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[7])); | 726 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[7])); |
677 CreateTestFormField("Country", "billingCountry", "USA", "text", &field); | 727 autofill_unittest::CreateTestFormField( |
| 728 "Country", "billingCountry", "USA", "text", &field); |
678 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[8])); | 729 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[8])); |
679 CreateTestFormField( | 730 autofill_unittest::CreateTestFormField( |
680 "Phone Number", "phonenumber", "12345678901", "text", &field); | 731 "Phone Number", "phonenumber", "12345678901", "text", &field); |
681 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[9])); | 732 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[9])); |
682 CreateTestFormField("Email", "email", "flatlander@gmail.com", "text", &field); | 733 autofill_unittest::CreateTestFormField( |
| 734 "Email", "email", "flatlander@gmail.com", "text", &field); |
683 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[10])); | 735 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[10])); |
684 CreateTestFormField( | 736 autofill_unittest::CreateTestFormField( |
685 "Name on Card", "nameoncard", "Elvis Presley", "text", &field); | 737 "Name on Card", "nameoncard", "Elvis Presley", "text", &field); |
686 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[11])); | 738 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[11])); |
687 CreateTestFormField( | 739 autofill_unittest::CreateTestFormField( |
688 "Card Number", "cardnumber", "1234567890123456", "text", &field); | 740 "Card Number", "cardnumber", "1234567890123456", "text", &field); |
689 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[12])); | 741 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[12])); |
690 CreateTestFormField("Expiration Date", "ccmonth", "04", "text", &field); | 742 autofill_unittest::CreateTestFormField( |
| 743 "Expiration Date", "ccmonth", "04", "text", &field); |
691 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[13])); | 744 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[13])); |
692 CreateTestFormField("", "ccyear", "2012", "text", &field); | 745 autofill_unittest::CreateTestFormField( |
| 746 "", "ccyear", "2012", "text", &field); |
693 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[14])); | 747 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[14])); |
694 } | 748 } |
695 | 749 |
696 TEST_F(AutoFillManagerTest, FillPhoneNumberTest) { | 750 TEST_F(AutoFillManagerTest, FillPhoneNumberTest) { |
697 FormData form; | 751 FormData form; |
698 | 752 |
699 form.name = ASCIIToUTF16("MyPhoneForm"); | 753 form.name = ASCIIToUTF16("MyPhoneForm"); |
700 form.method = ASCIIToUTF16("POST"); | 754 form.method = ASCIIToUTF16("POST"); |
701 form.origin = GURL("http://myform.com/phone_form.html"); | 755 form.origin = GURL("http://myform.com/phone_form.html"); |
702 form.action = GURL("http://myform.com/phone_submit.html"); | 756 form.action = GURL("http://myform.com/phone_submit.html"); |
703 | 757 |
704 webkit_glue::FormField field; | 758 webkit_glue::FormField field; |
705 | 759 |
706 CreateTestFormField("country code", "country code", "", "text", &field); | 760 autofill_unittest::CreateTestFormField( |
| 761 "country code", "country code", "", "text", &field); |
707 field.set_size(1); | 762 field.set_size(1); |
708 form.fields.push_back(field); | 763 form.fields.push_back(field); |
709 CreateTestFormField("area code", "area code", "", "text", &field); | 764 autofill_unittest::CreateTestFormField( |
| 765 "area code", "area code", "", "text", &field); |
710 field.set_size(3); | 766 field.set_size(3); |
711 form.fields.push_back(field); | 767 form.fields.push_back(field); |
712 CreateTestFormField("phone", "phone prefix", "1", "text", &field); | 768 autofill_unittest::CreateTestFormField( |
| 769 "phone", "phone prefix", "1", "text", &field); |
713 field.set_size(3); | 770 field.set_size(3); |
714 form.fields.push_back(field); | 771 form.fields.push_back(field); |
715 CreateTestFormField("-", "phone suffix", "", "text", &field); | 772 autofill_unittest::CreateTestFormField( |
| 773 "-", "phone suffix", "", "text", &field); |
716 field.set_size(4); | 774 field.set_size(4); |
717 form.fields.push_back(field); | 775 form.fields.push_back(field); |
718 CreateTestFormField("Phone Extension", "ext", "", "text", &field); | 776 autofill_unittest::CreateTestFormField( |
| 777 "Phone Extension", "ext", "", "text", &field); |
719 field.set_size(3); | 778 field.set_size(3); |
720 form.fields.push_back(field); | 779 form.fields.push_back(field); |
721 | 780 |
722 // Set up our FormStructures. | 781 // Set up our FormStructures. |
723 std::vector<FormData> forms; | 782 std::vector<FormData> forms; |
724 forms.push_back(form); | 783 forms.push_back(form); |
725 autofill_manager_->FormsSeen(forms); | 784 autofill_manager_->FormsSeen(forms); |
726 | 785 |
727 AutoFillProfile *work_profile = autofill_manager_->GetLabeledProfile("Work"); | 786 AutoFillProfile *work_profile = autofill_manager_->GetLabeledProfile("Work"); |
728 EXPECT_TRUE(work_profile != NULL); | 787 EXPECT_TRUE(work_profile != NULL); |
(...skipping 30 matching lines...) Loading... |
759 } | 818 } |
760 | 819 |
761 TEST_F(AutoFillManagerTest, FormChangesRemoveField) { | 820 TEST_F(AutoFillManagerTest, FormChangesRemoveField) { |
762 FormData form; | 821 FormData form; |
763 form.name = ASCIIToUTF16("MyForm"); | 822 form.name = ASCIIToUTF16("MyForm"); |
764 form.method = ASCIIToUTF16("POST"); | 823 form.method = ASCIIToUTF16("POST"); |
765 form.origin = GURL("http://myform.com/form.html"); | 824 form.origin = GURL("http://myform.com/form.html"); |
766 form.action = GURL("http://myform.com/submit.html"); | 825 form.action = GURL("http://myform.com/submit.html"); |
767 | 826 |
768 webkit_glue::FormField field; | 827 webkit_glue::FormField field; |
769 CreateTestFormField("First Name", "firstname", "", "text", &field); | 828 autofill_unittest::CreateTestFormField( |
| 829 "First Name", "firstname", "", "text", &field); |
770 form.fields.push_back(field); | 830 form.fields.push_back(field); |
771 CreateTestFormField("Middle Name", "middlename", "", "text", &field); | 831 autofill_unittest::CreateTestFormField( |
| 832 "Middle Name", "middlename", "", "text", &field); |
772 form.fields.push_back(field); | 833 form.fields.push_back(field); |
773 CreateTestFormField("Last Name", "lastname", "", "text", &field); | 834 autofill_unittest::CreateTestFormField( |
| 835 "Last Name", "lastname", "", "text", &field); |
774 form.fields.push_back(field); | 836 form.fields.push_back(field); |
775 CreateTestFormField("Phone Number", "phonenumber", "", "text", &field); | 837 autofill_unittest::CreateTestFormField( |
| 838 "Phone Number", "phonenumber", "", "text", &field); |
776 form.fields.push_back(field); | 839 form.fields.push_back(field); |
777 CreateTestFormField("Email", "email", "", "text", &field); | 840 autofill_unittest::CreateTestFormField( |
| 841 "Email", "email", "", "text", &field); |
778 form.fields.push_back(field); | 842 form.fields.push_back(field); |
779 | 843 |
780 // Set up our FormStructures. | 844 // Set up our FormStructures. |
781 std::vector<FormData> forms; | 845 std::vector<FormData> forms; |
782 forms.push_back(form); | 846 forms.push_back(form); |
783 autofill_manager_->FormsSeen(forms); | 847 autofill_manager_->FormsSeen(forms); |
784 | 848 |
785 // Now, after the call to |FormsSeen| we remove the phone number field before | 849 // Now, after the call to |FormsSeen| we remove the phone number field before |
786 // filling. | 850 // filling. |
787 form.fields.erase(form.fields.begin() + 3); | 851 form.fields.erase(form.fields.begin() + 3); |
788 | 852 |
789 // The page ID sent to the AutoFillManager from the RenderView, used to send | 853 // The page ID sent to the AutoFillManager from the RenderView, used to send |
790 // an IPC message back to the renderer. | 854 // an IPC message back to the renderer. |
791 const int kPageID = 1; | 855 const int kPageID = 1; |
792 EXPECT_TRUE( | 856 EXPECT_TRUE( |
793 autofill_manager_->FillAutoFillFormData(kPageID, | 857 autofill_manager_->FillAutoFillFormData(kPageID, |
794 form, | 858 form, |
795 ASCIIToUTF16("Elvis"), | 859 ASCIIToUTF16("Elvis"), |
796 ASCIIToUTF16("Home"))); | 860 ASCIIToUTF16("Home"))); |
797 | 861 |
798 int page_id = 0; | 862 int page_id = 0; |
799 FormData results; | 863 FormData results; |
800 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); | 864 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); |
801 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); | 865 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
802 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); | 866 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
803 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); | 867 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); |
804 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); | 868 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); |
805 ASSERT_EQ(4U, results.fields.size()); | 869 ASSERT_EQ(4U, results.fields.size()); |
806 | 870 |
807 CreateTestFormField("First Name", "firstname", "Elvis", "text", &field); | 871 autofill_unittest::CreateTestFormField( |
| 872 "First Name", "firstname", "Elvis", "text", &field); |
808 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); | 873 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); |
809 CreateTestFormField("Middle Name", "middlename", "Aaron", "text", &field); | 874 autofill_unittest::CreateTestFormField( |
| 875 "Middle Name", "middlename", "Aaron", "text", &field); |
810 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); | 876 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); |
811 CreateTestFormField("Last Name", "lastname", "Presley", "text", &field); | 877 autofill_unittest::CreateTestFormField( |
| 878 "Last Name", "lastname", "Presley", "text", &field); |
812 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); | 879 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); |
813 CreateTestFormField( | 880 autofill_unittest::CreateTestFormField( |
814 "Email", "email", "theking@gmail.com", "text", &field); | 881 "Email", "email", "theking@gmail.com", "text", &field); |
815 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); | 882 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); |
816 } | 883 } |
817 | 884 |
818 TEST_F(AutoFillManagerTest, FormChangesAddField) { | 885 TEST_F(AutoFillManagerTest, FormChangesAddField) { |
819 FormData form; | 886 FormData form; |
820 form.name = ASCIIToUTF16("MyForm"); | 887 form.name = ASCIIToUTF16("MyForm"); |
821 form.method = ASCIIToUTF16("POST"); | 888 form.method = ASCIIToUTF16("POST"); |
822 form.origin = GURL("http://myform.com/form.html"); | 889 form.origin = GURL("http://myform.com/form.html"); |
823 form.action = GURL("http://myform.com/submit.html"); | 890 form.action = GURL("http://myform.com/submit.html"); |
824 | 891 |
825 webkit_glue::FormField field; | 892 webkit_glue::FormField field; |
826 CreateTestFormField("First Name", "firstname", "", "text", &field); | 893 autofill_unittest::CreateTestFormField( |
| 894 "First Name", "firstname", "", "text", &field); |
827 form.fields.push_back(field); | 895 form.fields.push_back(field); |
828 CreateTestFormField("Middle Name", "middlename", "", "text", &field); | 896 autofill_unittest::CreateTestFormField( |
| 897 "Middle Name", "middlename", "", "text", &field); |
829 form.fields.push_back(field); | 898 form.fields.push_back(field); |
830 CreateTestFormField("Last Name", "lastname", "", "text", &field); | 899 autofill_unittest::CreateTestFormField( |
| 900 "Last Name", "lastname", "", "text", &field); |
831 // Note: absent phone number. Adding this below. | 901 // Note: absent phone number. Adding this below. |
832 form.fields.push_back(field); | 902 form.fields.push_back(field); |
833 CreateTestFormField("Email", "email", "", "text", &field); | 903 autofill_unittest::CreateTestFormField( |
| 904 "Email", "email", "", "text", &field); |
834 form.fields.push_back(field); | 905 form.fields.push_back(field); |
835 | 906 |
836 // Set up our FormStructures. | 907 // Set up our FormStructures. |
837 std::vector<FormData> forms; | 908 std::vector<FormData> forms; |
838 forms.push_back(form); | 909 forms.push_back(form); |
839 autofill_manager_->FormsSeen(forms); | 910 autofill_manager_->FormsSeen(forms); |
840 | 911 |
841 // Now, after the call to |FormsSeen| we add the phone number field before | 912 // Now, after the call to |FormsSeen| we add the phone number field before |
842 // filling. | 913 // filling. |
843 CreateTestFormField("Phone Number", "phonenumber", "", "text", &field); | 914 autofill_unittest::CreateTestFormField( |
| 915 "Phone Number", "phonenumber", "", "text", &field); |
844 form.fields.insert(form.fields.begin() + 3, field); | 916 form.fields.insert(form.fields.begin() + 3, field); |
845 | 917 |
846 // The page ID sent to the AutoFillManager from the RenderView, used to send | 918 // The page ID sent to the AutoFillManager from the RenderView, used to send |
847 // an IPC message back to the renderer. | 919 // an IPC message back to the renderer. |
848 const int kPageID = 1; | 920 const int kPageID = 1; |
849 EXPECT_TRUE( | 921 EXPECT_TRUE( |
850 autofill_manager_->FillAutoFillFormData(kPageID, | 922 autofill_manager_->FillAutoFillFormData(kPageID, |
851 form, | 923 form, |
852 ASCIIToUTF16("Elvis"), | 924 ASCIIToUTF16("Elvis"), |
853 ASCIIToUTF16("Home"))); | 925 ASCIIToUTF16("Home"))); |
854 | 926 |
855 int page_id = 0; | 927 int page_id = 0; |
856 FormData results; | 928 FormData results; |
857 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); | 929 EXPECT_TRUE(GetAutoFillFormDataFilledMessage(&page_id, &results)); |
858 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); | 930 EXPECT_EQ(ASCIIToUTF16("MyForm"), results.name); |
859 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); | 931 EXPECT_EQ(ASCIIToUTF16("POST"), results.method); |
860 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); | 932 EXPECT_EQ(GURL("http://myform.com/form.html"), results.origin); |
861 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); | 933 EXPECT_EQ(GURL("http://myform.com/submit.html"), results.action); |
862 ASSERT_EQ(5U, results.fields.size()); | 934 ASSERT_EQ(5U, results.fields.size()); |
863 | 935 |
864 CreateTestFormField("First Name", "firstname", "Elvis", "text", &field); | 936 autofill_unittest::CreateTestFormField( |
| 937 "First Name", "firstname", "Elvis", "text", &field); |
865 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); | 938 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[0])); |
866 CreateTestFormField("Middle Name", "middlename", "Aaron", "text", &field); | 939 autofill_unittest::CreateTestFormField( |
| 940 "Middle Name", "middlename", "Aaron", "text", &field); |
867 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); | 941 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[1])); |
868 CreateTestFormField("Last Name", "lastname", "Presley", "text", &field); | 942 autofill_unittest::CreateTestFormField( |
| 943 "Last Name", "lastname", "Presley", "text", &field); |
869 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); | 944 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[2])); |
870 CreateTestFormField("Phone Number", "phonenumber", "", "text", &field); | 945 autofill_unittest::CreateTestFormField( |
| 946 "Phone Number", "phonenumber", "", "text", &field); |
871 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); | 947 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[3])); |
872 CreateTestFormField( | 948 autofill_unittest::CreateTestFormField( |
873 "Email", "email", "theking@gmail.com", "text", &field); | 949 "Email", "email", "theking@gmail.com", "text", &field); |
874 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); | 950 EXPECT_TRUE(field.StrictlyEqualsHack(results.fields[4])); |
875 } | 951 } |
876 | 952 |
877 TEST_F(AutoFillManagerTest, InfoBarShown) { | |
878 FormData form; | |
879 form.name = ASCIIToUTF16("MyForm"); | |
880 form.method = ASCIIToUTF16("POST"); | |
881 form.origin = GURL("http://myform.com/form.html"); | |
882 form.action = GURL("http://myform.com/submit.html"); | |
883 | |
884 webkit_glue::FormField field; | |
885 CreateTestFormField("E-mail", "one", "one", "text", &field); | |
886 form.fields.push_back(field); | |
887 CreateTestFormField("E-mail", "two", "two", "text", &field); | |
888 form.fields.push_back(field); | |
889 CreateTestFormField("E-mail", "three", "three", "text", &field); | |
890 form.fields.push_back(field); | |
891 | |
892 // Set up our FormStructures. | |
893 std::vector<FormData> forms; | |
894 forms.push_back(form); | |
895 autofill_manager_->FormsSeen(forms); | |
896 | |
897 // Submit the form. | |
898 autofill_manager_->FormSubmitted(form); | |
899 | |
900 // Check that the 'AutoFill InfoBar shown' pref is set. | |
901 PrefService* prefs = profile()->GetPrefs(); | |
902 EXPECT_TRUE(prefs->GetBoolean(prefs::kAutoFillInfoBarShown)); | |
903 } | |
904 | |
905 TEST_F(AutoFillManagerTest, HiddenFields) { | 953 TEST_F(AutoFillManagerTest, HiddenFields) { |
906 FormData form; | 954 FormData form; |
907 form.name = ASCIIToUTF16("MyForm"); | 955 form.name = ASCIIToUTF16("MyForm"); |
908 form.method = ASCIIToUTF16("POST"); | 956 form.method = ASCIIToUTF16("POST"); |
909 form.origin = GURL("http://myform.com/form.html"); | 957 form.origin = GURL("http://myform.com/form.html"); |
910 form.action = GURL("http://myform.com/submit.html"); | 958 form.action = GURL("http://myform.com/submit.html"); |
911 | 959 |
912 webkit_glue::FormField field; | 960 webkit_glue::FormField field; |
913 CreateTestFormField("E-mail", "one", "one", "hidden", &field); | 961 autofill_unittest::CreateTestFormField( |
| 962 "E-mail", "one", "one", "hidden", &field); |
914 form.fields.push_back(field); | 963 form.fields.push_back(field); |
915 CreateTestFormField("E-mail", "two", "two", "hidden", &field); | 964 autofill_unittest::CreateTestFormField( |
| 965 "E-mail", "two", "two", "hidden", &field); |
916 form.fields.push_back(field); | 966 form.fields.push_back(field); |
917 CreateTestFormField("E-mail", "three", "three", "hidden", &field); | 967 autofill_unittest::CreateTestFormField( |
| 968 "E-mail", "three", "three", "hidden", &field); |
918 form.fields.push_back(field); | 969 form.fields.push_back(field); |
919 | 970 |
920 // Set up our FormStructures. | 971 // Set up our FormStructures. |
921 std::vector<FormData> forms; | 972 std::vector<FormData> forms; |
922 forms.push_back(form); | 973 forms.push_back(form); |
923 autofill_manager_->FormsSeen(forms); | 974 autofill_manager_->FormsSeen(forms); |
924 | 975 |
925 // Submit the form. | 976 // Submit the form. |
926 autofill_manager_->FormSubmitted(form); | 977 autofill_manager_->FormSubmitted(form); |
927 | 978 |
928 // Check that the 'AutoFill InfoBar shown' pref is not set. | 979 // TODO(jhawkins): We can't use the InfoBar anymore to determine if we saved |
929 PrefService* prefs = profile()->GetPrefs(); | 980 // fields. Need to query the PDM. |
930 EXPECT_FALSE(prefs->GetBoolean(prefs::kAutoFillInfoBarShown)); | |
931 } | 981 } |
932 | 982 |
933 } // namespace | 983 } // namespace |
OLD | NEW |