| 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...) Expand 10 before | Expand all | Expand 10 after 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...) Expand all 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...) Expand 10 before | Expand all | Expand 10 after 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...) Expand all 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...) Expand all 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...) Expand all 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...) Expand all 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...) Expand all 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...) Expand all 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...) Expand all 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...) Expand all 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...) Expand all 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 |