OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/guid.h" | 8 #include "base/guid.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
573 form_structure.DetermineHeuristicTypes(TestAutofillMetrics()); | 573 form_structure.DetermineHeuristicTypes(TestAutofillMetrics()); |
574 const CreditCard* imported_credit_card; | 574 const CreditCard* imported_credit_card; |
575 EXPECT_FALSE(personal_data_->ImportFormData(form_structure, | 575 EXPECT_FALSE(personal_data_->ImportFormData(form_structure, |
576 &imported_credit_card)); | 576 &imported_credit_card)); |
577 ASSERT_EQ(static_cast<CreditCard*>(NULL), imported_credit_card); | 577 ASSERT_EQ(static_cast<CreditCard*>(NULL), imported_credit_card); |
578 | 578 |
579 const std::vector<AutofillProfile*>& results = personal_data_->GetProfiles(); | 579 const std::vector<AutofillProfile*>& results = personal_data_->GetProfiles(); |
580 ASSERT_EQ(0U, results.size()); | 580 ASSERT_EQ(0U, results.size()); |
581 } | 581 } |
582 | 582 |
| 583 // Tests that a 'confirm email' field does not block profile import. |
| 584 TEST_F(PersonalDataManagerTest, ImportFormDataTwoEmails) { |
| 585 FormData form; |
| 586 FormFieldData field; |
| 587 autofill_test::CreateTestFormField( |
| 588 "Name:", "name", "George Washington", "text", &field); |
| 589 form.fields.push_back(field); |
| 590 autofill_test::CreateTestFormField( |
| 591 "Address:", "address1", "21 Laussat St", "text", &field); |
| 592 form.fields.push_back(field); |
| 593 autofill_test::CreateTestFormField( |
| 594 "City:", "city", "San Francisco", "text", &field); |
| 595 form.fields.push_back(field); |
| 596 autofill_test::CreateTestFormField( |
| 597 "State:", "state", "California", "text", &field); |
| 598 form.fields.push_back(field); |
| 599 autofill_test::CreateTestFormField( |
| 600 "Zip:", "zip", "94102", "text", &field); |
| 601 form.fields.push_back(field); |
| 602 autofill_test::CreateTestFormField( |
| 603 "Email:", "email", "example@example.com", "text", &field); |
| 604 form.fields.push_back(field); |
| 605 autofill_test::CreateTestFormField( |
| 606 "Confirm email:", "confirm_email", "example@example.com", "text", &field); |
| 607 form.fields.push_back(field); |
| 608 FormStructure form_structure(form, std::string()); |
| 609 form_structure.DetermineHeuristicTypes(TestAutofillMetrics()); |
| 610 const CreditCard* imported_credit_card; |
| 611 EXPECT_TRUE(personal_data_->ImportFormData(form_structure, |
| 612 &imported_credit_card)); |
| 613 const std::vector<AutofillProfile*>& results = personal_data_->GetProfiles(); |
| 614 ASSERT_EQ(1U, results.size()); |
| 615 } |
| 616 |
| 617 // Tests two email fields containing different values blocks provile import. |
| 618 TEST_F(PersonalDataManagerTest, ImportFormDataTwoDifferentEmails) { |
| 619 FormData form; |
| 620 FormFieldData field; |
| 621 autofill_test::CreateTestFormField( |
| 622 "Name:", "name", "George Washington", "text", &field); |
| 623 form.fields.push_back(field); |
| 624 autofill_test::CreateTestFormField( |
| 625 "Address:", "address1", "21 Laussat St", "text", &field); |
| 626 form.fields.push_back(field); |
| 627 autofill_test::CreateTestFormField( |
| 628 "City:", "city", "San Francisco", "text", &field); |
| 629 form.fields.push_back(field); |
| 630 autofill_test::CreateTestFormField( |
| 631 "State:", "state", "California", "text", &field); |
| 632 form.fields.push_back(field); |
| 633 autofill_test::CreateTestFormField( |
| 634 "Zip:", "zip", "94102", "text", &field); |
| 635 form.fields.push_back(field); |
| 636 autofill_test::CreateTestFormField( |
| 637 "Email:", "email", "example@example.com", "text", &field); |
| 638 form.fields.push_back(field); |
| 639 autofill_test::CreateTestFormField( |
| 640 "Email:", "email2", "example2@example.com", "text", &field); |
| 641 form.fields.push_back(field); |
| 642 FormStructure form_structure(form, std::string()); |
| 643 form_structure.DetermineHeuristicTypes(TestAutofillMetrics()); |
| 644 const CreditCard* imported_credit_card; |
| 645 EXPECT_FALSE(personal_data_->ImportFormData(form_structure, |
| 646 &imported_credit_card)); |
| 647 const std::vector<AutofillProfile*>& results = personal_data_->GetProfiles(); |
| 648 ASSERT_EQ(0U, results.size()); |
| 649 } |
| 650 |
583 TEST_F(PersonalDataManagerTest, ImportFormDataNotEnoughFilledFields) { | 651 TEST_F(PersonalDataManagerTest, ImportFormDataNotEnoughFilledFields) { |
584 FormData form; | 652 FormData form; |
585 FormFieldData field; | 653 FormFieldData field; |
586 autofill_test::CreateTestFormField( | 654 autofill_test::CreateTestFormField( |
587 "First name:", "first_name", "George", "text", &field); | 655 "First name:", "first_name", "George", "text", &field); |
588 form.fields.push_back(field); | 656 form.fields.push_back(field); |
589 autofill_test::CreateTestFormField( | 657 autofill_test::CreateTestFormField( |
590 "Last name:", "last_name", "Washington", "text", &field); | 658 "Last name:", "last_name", "Washington", "text", &field); |
591 form.fields.push_back(field); | 659 form.fields.push_back(field); |
592 autofill_test::CreateTestFormField( | 660 autofill_test::CreateTestFormField( |
(...skipping 1462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2055 | 2123 |
2056 // Modify expected to include multi-valued fields. | 2124 // Modify expected to include multi-valued fields. |
2057 std::vector<string16> values; | 2125 std::vector<string16> values; |
2058 expected.GetRawMultiInfo(PHONE_HOME_WHOLE_NUMBER, &values); | 2126 expected.GetRawMultiInfo(PHONE_HOME_WHOLE_NUMBER, &values); |
2059 values.push_back(ASCIIToUTF16("(214) 555-1234")); | 2127 values.push_back(ASCIIToUTF16("(214) 555-1234")); |
2060 expected.SetRawMultiInfo(PHONE_HOME_WHOLE_NUMBER, values); | 2128 expected.SetRawMultiInfo(PHONE_HOME_WHOLE_NUMBER, values); |
2061 | 2129 |
2062 ASSERT_EQ(1U, results2.size()); | 2130 ASSERT_EQ(1U, results2.size()); |
2063 EXPECT_EQ(0, expected.Compare(*results2[0])); | 2131 EXPECT_EQ(0, expected.Compare(*results2[0])); |
2064 } | 2132 } |
OLD | NEW |