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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/guid.h" | 6 #include "base/guid.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/memory/scoped_vector.h" | 8 #include "base/memory/scoped_vector.h" |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "base/string16.h" | 10 #include "base/string16.h" |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 std::vector<string16> labels; | 483 std::vector<string16> labels; |
484 AutofillProfile::CreateInferredLabels(&profiles.get(), NULL, UNKNOWN_TYPE, 3, | 484 AutofillProfile::CreateInferredLabels(&profiles.get(), NULL, UNKNOWN_TYPE, 3, |
485 &labels); | 485 &labels); |
486 ASSERT_EQ(3U, labels.size()); | 486 ASSERT_EQ(3U, labels.size()); |
487 EXPECT_EQ(ASCIIToUTF16("John Doe, doe@example.com, Gogole"), labels[0]); | 487 EXPECT_EQ(ASCIIToUTF16("John Doe, doe@example.com, Gogole"), labels[0]); |
488 EXPECT_EQ(ASCIIToUTF16("John Doe, doe@example.com, Ggoole"), labels[1]); | 488 EXPECT_EQ(ASCIIToUTF16("John Doe, doe@example.com, Ggoole"), labels[1]); |
489 EXPECT_EQ(ASCIIToUTF16("John Doe, john.doe@example.com, Goolge"), labels[2]); | 489 EXPECT_EQ(ASCIIToUTF16("John Doe, john.doe@example.com, Goolge"), labels[2]); |
490 | 490 |
491 // A field must have a non-empty value for each profile to be considered a | 491 // A field must have a non-empty value for each profile to be considered a |
492 // distinguishing field. | 492 // distinguishing field. |
493 profiles[1]->SetInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("88 Nowhere Ave.")); | 493 profiles[1]->SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("88 Nowhere Ave.")); |
494 AutofillProfile::CreateInferredLabels(&profiles.get(), NULL, UNKNOWN_TYPE, 1, | 494 AutofillProfile::CreateInferredLabels(&profiles.get(), NULL, UNKNOWN_TYPE, 1, |
495 &labels); | 495 &labels); |
496 ASSERT_EQ(3U, labels.size()); | 496 ASSERT_EQ(3U, labels.size()); |
497 EXPECT_EQ(ASCIIToUTF16("John Doe, doe@example.com, Gogole"), labels[0]); | 497 EXPECT_EQ(ASCIIToUTF16("John Doe, doe@example.com, Gogole"), labels[0]); |
498 EXPECT_EQ(ASCIIToUTF16("John Doe, 88 Nowhere Ave., doe@example.com, Ggoole"), | 498 EXPECT_EQ(ASCIIToUTF16("John Doe, 88 Nowhere Ave., doe@example.com, Ggoole"), |
499 labels[1]) << labels[1]; | 499 labels[1]) << labels[1]; |
500 EXPECT_EQ(ASCIIToUTF16("John Doe, john.doe@example.com"), labels[2]); | 500 EXPECT_EQ(ASCIIToUTF16("John Doe, john.doe@example.com"), labels[2]); |
501 } | 501 } |
502 | 502 |
503 TEST_F(AutofillProfileTest, IsSubsetOf) { | 503 TEST_F(AutofillProfileTest, IsSubsetOf) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 TEST_F(AutofillProfileTest, MultiValueNames) { | 591 TEST_F(AutofillProfileTest, MultiValueNames) { |
592 AutofillProfile p; | 592 AutofillProfile p; |
593 const string16 kJohnDoe(ASCIIToUTF16("John Doe")); | 593 const string16 kJohnDoe(ASCIIToUTF16("John Doe")); |
594 const string16 kJohnPDoe(ASCIIToUTF16("John P. Doe")); | 594 const string16 kJohnPDoe(ASCIIToUTF16("John P. Doe")); |
595 std::vector<string16> set_values; | 595 std::vector<string16> set_values; |
596 set_values.push_back(kJohnDoe); | 596 set_values.push_back(kJohnDoe); |
597 set_values.push_back(kJohnPDoe); | 597 set_values.push_back(kJohnPDoe); |
598 p.SetMultiInfo(NAME_FULL, set_values); | 598 p.SetMultiInfo(NAME_FULL, set_values); |
599 | 599 |
600 // Expect regular |GetInfo| returns the first element. | 600 // Expect regular |GetInfo| returns the first element. |
601 EXPECT_EQ(kJohnDoe, p.GetInfo(NAME_FULL)); | 601 EXPECT_EQ(kJohnDoe, p.GetRawInfo(NAME_FULL)); |
602 | 602 |
603 // Ensure that we get out what we put in. | 603 // Ensure that we get out what we put in. |
604 std::vector<string16> get_values; | 604 std::vector<string16> get_values; |
605 p.GetMultiInfo(NAME_FULL, &get_values); | 605 p.GetMultiInfo(NAME_FULL, &get_values); |
606 ASSERT_EQ(2UL, get_values.size()); | 606 ASSERT_EQ(2UL, get_values.size()); |
607 EXPECT_EQ(kJohnDoe, get_values[0]); | 607 EXPECT_EQ(kJohnDoe, get_values[0]); |
608 EXPECT_EQ(kJohnPDoe, get_values[1]); | 608 EXPECT_EQ(kJohnPDoe, get_values[1]); |
609 | 609 |
610 // Update the values. | 610 // Update the values. |
611 AutofillProfile p2 = p; | 611 AutofillProfile p2 = p; |
612 EXPECT_EQ(0, p.Compare(p2)); | 612 EXPECT_EQ(0, p.Compare(p2)); |
613 const string16 kNoOne(ASCIIToUTF16("No One")); | 613 const string16 kNoOne(ASCIIToUTF16("No One")); |
614 set_values[1] = kNoOne; | 614 set_values[1] = kNoOne; |
615 p.SetMultiInfo(NAME_FULL, set_values); | 615 p.SetMultiInfo(NAME_FULL, set_values); |
616 p.GetMultiInfo(NAME_FULL, &get_values); | 616 p.GetMultiInfo(NAME_FULL, &get_values); |
617 ASSERT_EQ(2UL, get_values.size()); | 617 ASSERT_EQ(2UL, get_values.size()); |
618 EXPECT_EQ(kJohnDoe, get_values[0]); | 618 EXPECT_EQ(kJohnDoe, get_values[0]); |
619 EXPECT_EQ(kNoOne, get_values[1]); | 619 EXPECT_EQ(kNoOne, get_values[1]); |
620 EXPECT_NE(0, p.Compare(p2)); | 620 EXPECT_NE(0, p.Compare(p2)); |
621 | 621 |
622 // Delete values. | 622 // Delete values. |
623 set_values.clear(); | 623 set_values.clear(); |
624 p.SetMultiInfo(NAME_FULL, set_values); | 624 p.SetMultiInfo(NAME_FULL, set_values); |
625 p.GetMultiInfo(NAME_FULL, &get_values); | 625 p.GetMultiInfo(NAME_FULL, &get_values); |
626 ASSERT_EQ(1UL, get_values.size()); | 626 ASSERT_EQ(1UL, get_values.size()); |
627 EXPECT_EQ(string16(), get_values[0]); | 627 EXPECT_EQ(string16(), get_values[0]); |
628 | 628 |
629 // Expect regular |GetInfo| returns empty value. | 629 // Expect regular |GetInfo| returns empty value. |
630 EXPECT_EQ(string16(), p.GetInfo(NAME_FULL)); | 630 EXPECT_EQ(string16(), p.GetRawInfo(NAME_FULL)); |
631 } | 631 } |
632 | 632 |
633 TEST_F(AutofillProfileTest, MultiValueEmails) { | 633 TEST_F(AutofillProfileTest, MultiValueEmails) { |
634 AutofillProfile p; | 634 AutofillProfile p; |
635 const string16 kJohnDoe(ASCIIToUTF16("john@doe.com")); | 635 const string16 kJohnDoe(ASCIIToUTF16("john@doe.com")); |
636 const string16 kJohnPDoe(ASCIIToUTF16("john_p@doe.com")); | 636 const string16 kJohnPDoe(ASCIIToUTF16("john_p@doe.com")); |
637 std::vector<string16> set_values; | 637 std::vector<string16> set_values; |
638 set_values.push_back(kJohnDoe); | 638 set_values.push_back(kJohnDoe); |
639 set_values.push_back(kJohnPDoe); | 639 set_values.push_back(kJohnPDoe); |
640 p.SetMultiInfo(EMAIL_ADDRESS, set_values); | 640 p.SetMultiInfo(EMAIL_ADDRESS, set_values); |
641 | 641 |
642 // Expect regular |GetInfo| returns the first element. | 642 // Expect regular |GetInfo| returns the first element. |
643 EXPECT_EQ(kJohnDoe, p.GetInfo(EMAIL_ADDRESS)); | 643 EXPECT_EQ(kJohnDoe, p.GetRawInfo(EMAIL_ADDRESS)); |
644 | 644 |
645 // Ensure that we get out what we put in. | 645 // Ensure that we get out what we put in. |
646 std::vector<string16> get_values; | 646 std::vector<string16> get_values; |
647 p.GetMultiInfo(EMAIL_ADDRESS, &get_values); | 647 p.GetMultiInfo(EMAIL_ADDRESS, &get_values); |
648 ASSERT_EQ(2UL, get_values.size()); | 648 ASSERT_EQ(2UL, get_values.size()); |
649 EXPECT_EQ(kJohnDoe, get_values[0]); | 649 EXPECT_EQ(kJohnDoe, get_values[0]); |
650 EXPECT_EQ(kJohnPDoe, get_values[1]); | 650 EXPECT_EQ(kJohnPDoe, get_values[1]); |
651 | 651 |
652 // Update the values. | 652 // Update the values. |
653 AutofillProfile p2 = p; | 653 AutofillProfile p2 = p; |
654 EXPECT_EQ(0, p.Compare(p2)); | 654 EXPECT_EQ(0, p.Compare(p2)); |
655 const string16 kNoOne(ASCIIToUTF16("no@one.com")); | 655 const string16 kNoOne(ASCIIToUTF16("no@one.com")); |
656 set_values[1] = kNoOne; | 656 set_values[1] = kNoOne; |
657 p.SetMultiInfo(EMAIL_ADDRESS, set_values); | 657 p.SetMultiInfo(EMAIL_ADDRESS, set_values); |
658 p.GetMultiInfo(EMAIL_ADDRESS, &get_values); | 658 p.GetMultiInfo(EMAIL_ADDRESS, &get_values); |
659 ASSERT_EQ(2UL, get_values.size()); | 659 ASSERT_EQ(2UL, get_values.size()); |
660 EXPECT_EQ(kJohnDoe, get_values[0]); | 660 EXPECT_EQ(kJohnDoe, get_values[0]); |
661 EXPECT_EQ(kNoOne, get_values[1]); | 661 EXPECT_EQ(kNoOne, get_values[1]); |
662 EXPECT_NE(0, p.Compare(p2)); | 662 EXPECT_NE(0, p.Compare(p2)); |
663 | 663 |
664 // Delete values. | 664 // Delete values. |
665 set_values.clear(); | 665 set_values.clear(); |
666 p.SetMultiInfo(EMAIL_ADDRESS, set_values); | 666 p.SetMultiInfo(EMAIL_ADDRESS, set_values); |
667 p.GetMultiInfo(EMAIL_ADDRESS, &get_values); | 667 p.GetMultiInfo(EMAIL_ADDRESS, &get_values); |
668 ASSERT_EQ(1UL, get_values.size()); | 668 ASSERT_EQ(1UL, get_values.size()); |
669 EXPECT_EQ(string16(), get_values[0]); | 669 EXPECT_EQ(string16(), get_values[0]); |
670 | 670 |
671 // Expect regular |GetInfo| returns empty value. | 671 // Expect regular |GetInfo| returns empty value. |
672 EXPECT_EQ(string16(), p.GetInfo(EMAIL_ADDRESS)); | 672 EXPECT_EQ(string16(), p.GetRawInfo(EMAIL_ADDRESS)); |
673 } | 673 } |
674 | 674 |
675 TEST_F(AutofillProfileTest, MultiValuePhone) { | 675 TEST_F(AutofillProfileTest, MultiValuePhone) { |
676 AutofillProfile p; | 676 AutofillProfile p; |
677 const string16 kJohnDoe(ASCIIToUTF16("4151112222")); | 677 const string16 kJohnDoe(ASCIIToUTF16("4151112222")); |
678 const string16 kJohnPDoe(ASCIIToUTF16("4151113333")); | 678 const string16 kJohnPDoe(ASCIIToUTF16("4151113333")); |
679 std::vector<string16> set_values; | 679 std::vector<string16> set_values; |
680 set_values.push_back(kJohnDoe); | 680 set_values.push_back(kJohnDoe); |
681 set_values.push_back(kJohnPDoe); | 681 set_values.push_back(kJohnPDoe); |
682 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); | 682 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); |
683 | 683 |
684 // Expect regular |GetInfo| returns the first element. | 684 // Expect regular |GetInfo| returns the first element. |
685 EXPECT_EQ(kJohnDoe, p.GetInfo(PHONE_HOME_WHOLE_NUMBER)); | 685 EXPECT_EQ(kJohnDoe, p.GetRawInfo(PHONE_HOME_WHOLE_NUMBER)); |
686 | 686 |
687 // Ensure that we get out what we put in. | 687 // Ensure that we get out what we put in. |
688 std::vector<string16> get_values; | 688 std::vector<string16> get_values; |
689 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); | 689 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); |
690 ASSERT_EQ(2UL, get_values.size()); | 690 ASSERT_EQ(2UL, get_values.size()); |
691 EXPECT_EQ(kJohnDoe, get_values[0]); | 691 EXPECT_EQ(kJohnDoe, get_values[0]); |
692 EXPECT_EQ(kJohnPDoe, get_values[1]); | 692 EXPECT_EQ(kJohnPDoe, get_values[1]); |
693 | 693 |
694 // Update the values. | 694 // Update the values. |
695 AutofillProfile p2 = p; | 695 AutofillProfile p2 = p; |
696 EXPECT_EQ(0, p.Compare(p2)); | 696 EXPECT_EQ(0, p.Compare(p2)); |
697 const string16 kNoOne(ASCIIToUTF16("4152110000")); | 697 const string16 kNoOne(ASCIIToUTF16("4152110000")); |
698 set_values[1] = kNoOne; | 698 set_values[1] = kNoOne; |
699 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); | 699 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); |
700 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); | 700 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); |
701 ASSERT_EQ(2UL, get_values.size()); | 701 ASSERT_EQ(2UL, get_values.size()); |
702 EXPECT_EQ(kJohnDoe, get_values[0]); | 702 EXPECT_EQ(kJohnDoe, get_values[0]); |
703 EXPECT_EQ(kNoOne, get_values[1]); | 703 EXPECT_EQ(kNoOne, get_values[1]); |
704 EXPECT_NE(0, p.Compare(p2)); | 704 EXPECT_NE(0, p.Compare(p2)); |
705 | 705 |
706 // Delete values. | 706 // Delete values. |
707 set_values.clear(); | 707 set_values.clear(); |
708 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); | 708 p.SetMultiInfo(PHONE_HOME_WHOLE_NUMBER, set_values); |
709 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); | 709 p.GetMultiInfo(PHONE_HOME_WHOLE_NUMBER, &get_values); |
710 ASSERT_EQ(1UL, get_values.size()); | 710 ASSERT_EQ(1UL, get_values.size()); |
711 EXPECT_EQ(string16(), get_values[0]); | 711 EXPECT_EQ(string16(), get_values[0]); |
712 | 712 |
713 // Expect regular |GetInfo| returns empty value. | 713 // Expect regular |GetInfo| returns empty value. |
714 EXPECT_EQ(string16(), p.GetInfo(PHONE_HOME_WHOLE_NUMBER)); | 714 EXPECT_EQ(string16(), p.GetRawInfo(PHONE_HOME_WHOLE_NUMBER)); |
715 } | 715 } |
OLD | NEW |