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 "base/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
7 #include "base/scoped_temp_dir.h" | 7 #include "base/scoped_temp_dir.h" |
8 #include "base/stl_util-inl.h" | 8 #include "base/stl_util-inl.h" |
9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
584 void RegisterPreferences() { | 584 void RegisterPreferences() { |
585 prefs()->pref_service()->RegisterStringPref(kPref1, kDefaultPref1); | 585 prefs()->pref_service()->RegisterStringPref(kPref1, kDefaultPref1); |
586 prefs()->pref_service()->RegisterStringPref(kPref2, kDefaultPref2); | 586 prefs()->pref_service()->RegisterStringPref(kPref2, kDefaultPref2); |
587 prefs()->pref_service()->RegisterStringPref(kPref3, kDefaultPref3); | 587 prefs()->pref_service()->RegisterStringPref(kPref3, kDefaultPref3); |
588 prefs()->pref_service()->RegisterStringPref(kPref4, kDefaultPref4); | 588 prefs()->pref_service()->RegisterStringPref(kPref4, kDefaultPref4); |
589 } | 589 } |
590 | 590 |
591 void InstallExtControlledPref(Extension *ext, | 591 void InstallExtControlledPref(Extension *ext, |
592 const std::string& key, | 592 const std::string& key, |
593 Value* val) { | 593 Value* val) { |
594 // Install extension the first time a preference is set for it. | 594 EnsureExtensionInstalled(ext); |
595 const bool incognito = false; | |
596 prefs()->SetExtensionControlledPref(ext->id(), key, incognito, val); | |
597 } | |
598 | |
599 void InstallExtControlledPrefIncognito(Extension *ext, | |
600 const std::string& key, | |
601 Value* val) { | |
602 EnsureExtensionInstalled(ext); | |
603 const bool incognito = true; | |
604 prefs()->SetExtensionControlledPref(ext->id(), key, incognito, val); | |
605 } | |
606 | |
607 void UninstallExtension(const std::string& extension_id) { | |
595 Extension* extensions[] = {ext1_, ext2_, ext3_}; | 608 Extension* extensions[] = {ext1_, ext2_, ext3_}; |
596 for (int i = 0; i < 3; ++i) { | 609 for (int i = 0; i < 3; ++i) { |
597 if (ext == extensions[i] && !installed[i]) { | 610 if (extensions[i]->id() == extension_id) { |
598 prefs()->OnExtensionInstalled(ext, Extension::ENABLED, true); | 611 installed[i] = false; |
599 installed[i] = true; | |
600 break; | 612 break; |
601 } | 613 } |
602 } | 614 } |
603 | |
604 prefs()->SetExtensionControlledPref(ext->id(), key, val); | |
605 } | |
606 | |
607 void UninstallExtension(const std::string& extension_id) { | |
608 prefs()->OnExtensionUninstalled(extension_id, Extension::INTERNAL, false); | 615 prefs()->OnExtensionUninstalled(extension_id, Extension::INTERNAL, false); |
609 } | 616 } |
610 | 617 |
611 // Weak references, for convenience. | 618 // Weak references, for convenience. |
612 Extension* ext1_; | 619 Extension* ext1_; |
613 Extension* ext2_; | 620 Extension* ext2_; |
614 Extension* ext3_; | 621 Extension* ext3_; |
615 | 622 |
616 // Flags indicating whether each of the extensions has been installed, yet. | 623 // Flags indicating whether each of the extensions has been installed, yet. |
617 bool installed[3]; | 624 bool installed[3]; |
618 | 625 |
619 private: | 626 private: |
627 void EnsureExtensionInstalled(Extension *ext) { | |
628 // Install extension the first time a preference is set for it. | |
629 Extension* extensions[] = {ext1_, ext2_, ext3_}; | |
630 for (int i = 0; i < 3; ++i) { | |
631 if (ext == extensions[i] && !installed[i]) { | |
632 prefs()->OnExtensionInstalled(ext, Extension::ENABLED, true); | |
633 installed[i] = true; | |
634 break; | |
635 } | |
636 } | |
637 } | |
638 | |
620 scoped_refptr<Extension> ext1_scoped_; | 639 scoped_refptr<Extension> ext1_scoped_; |
621 scoped_refptr<Extension> ext2_scoped_; | 640 scoped_refptr<Extension> ext2_scoped_; |
622 scoped_refptr<Extension> ext3_scoped_; | 641 scoped_refptr<Extension> ext3_scoped_; |
623 }; | 642 }; |
624 | 643 |
625 class ExtensionPrefsInstallOneExtension | 644 class ExtensionPrefsInstallOneExtension |
626 : public ExtensionPrefsPreferencesBase { | 645 : public ExtensionPrefsPreferencesBase { |
627 virtual void Initialize() { | 646 virtual void Initialize() { |
628 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 647 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
629 } | 648 } |
630 virtual void Verify() { | 649 virtual void Verify() { |
631 std::string actual = prefs()->pref_service()->GetString(kPref1); | 650 std::string actual = prefs()->pref_service()->GetString(kPref1); |
632 EXPECT_EQ("val1", actual); | 651 EXPECT_EQ("val1", actual); |
633 } | 652 } |
634 }; | 653 }; |
635 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} | 654 TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} |
636 | 655 |
656 // Check that we forget incognito values after a reload. | |
657 class ExtensionPrefsInstallIncognito | |
658 : public ExtensionPrefsPreferencesBase { | |
659 public: | |
660 ExtensionPrefsInstallIncognito() : iteration(0) {} | |
661 | |
662 virtual void Initialize() { | |
663 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | |
664 InstallExtControlledPrefIncognito(ext1_, kPref1, | |
665 Value::CreateStringValue("val2")); | |
666 std::string actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
667 EXPECT_EQ("val2", actual); | |
668 } | |
669 virtual void Verify() { | |
670 // main pref service shall see only non-incognito settings | |
671 std::string actual = prefs()->pref_service()->GetString(kPref1); | |
672 EXPECT_EQ("val1", actual); | |
673 // incognito pref service shall see incognito values only during first run | |
674 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
675 if (iteration == 0) { | |
676 EXPECT_EQ("val2", actual); | |
677 } else { | |
678 EXPECT_EQ("val1", actual); | |
679 } | |
680 ++iteration; | |
681 } | |
682 int iteration; | |
danno
2010/12/22 10:48:21
should be iteration_
battre
2010/12/22 18:34:53
Done.
| |
683 }; | |
684 TEST_F(ExtensionPrefsInstallIncognito, ExtensionPrefsInstallOneExtension) {} | |
685 | |
637 // Make sure the last-installed extension wins for each preference. | 686 // Make sure the last-installed extension wins for each preference. |
638 class ExtensionPrefsInstallOverwrittenExtensions | 687 class ExtensionPrefsInstallOverwrittenExtensions |
639 : public ExtensionPrefsPreferencesBase { | 688 : public ExtensionPrefsPreferencesBase { |
640 virtual void Initialize() { | 689 virtual void Initialize() { |
641 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 690 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
642 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); | 691 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); |
643 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); | 692 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); |
644 | 693 |
645 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); | 694 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); |
646 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val5")); | 695 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val5")); |
647 | 696 |
648 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val6")); | 697 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val6")); |
649 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val7")); | 698 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val7")); |
650 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val8")); | 699 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val8")); |
651 } | 700 } |
652 virtual void Verify() { | 701 virtual void Verify() { |
653 std::string actual; | 702 std::string actual; |
654 actual = prefs()->pref_service()->GetString(kPref1); | 703 actual = prefs()->pref_service()->GetString(kPref1); |
655 EXPECT_EQ("val3", actual); | 704 EXPECT_EQ("val3", actual); |
656 actual = prefs()->pref_service()->GetString(kPref2); | 705 actual = prefs()->pref_service()->GetString(kPref2); |
657 EXPECT_EQ("val5", actual); | 706 EXPECT_EQ("val5", actual); |
658 actual = prefs()->pref_service()->GetString(kPref3); | 707 actual = prefs()->pref_service()->GetString(kPref3); |
659 EXPECT_EQ("val8", actual); | 708 EXPECT_EQ("val8", actual); |
660 } | 709 } |
661 }; | 710 }; |
662 TEST_F(ExtensionPrefsInstallOverwrittenExtensions, | 711 TEST_F(ExtensionPrefsInstallOverwrittenExtensions, |
663 ExtensionPrefsInstallOverwrittenExtensions) {} | 712 ExtensionPrefsInstallOverwrittenExtensions) {} |
664 | 713 |
714 // Make sure the last-installed extension wins for each preference. | |
715 class ExtensionPrefsInstallOverwrittenExtensionsIncognito | |
716 : public ExtensionPrefsPreferencesBase { | |
717 virtual void Initialize() { | |
718 const char* strings[] = { | |
719 kDefaultPref1, | |
720 "val1", | |
721 "val2", | |
722 "val3", | |
723 "val4" | |
724 }; | |
725 int values[][6] = { | |
726 // columns: | |
727 // 0: pref value of extension 1 | |
728 // 1: pref value of extension 1 incognito | |
729 // 2: pref value of extension 2 | |
730 // 3: pref value of extension 2 incognito | |
731 // 4: desired winner regular | |
732 // 5: desired winner incognito | |
733 // e.g. { 1, 0, 0, 4, 1, 4}, means: | |
734 // ext1 regular is set to "val1", ext2 incognito is set to "val4" | |
735 // --> the winning regular value is "val1", the winning incognito | |
736 // value is "val4". | |
737 { 1, 0, 0, 0, 1, 1}, | |
738 { 1, 2, 0, 0, 1, 2}, | |
739 { 1, 0, 3, 0, 3, 3}, | |
740 { 1, 0, 0, 4, 1, 4}, | |
741 { 1, 2, 3, 0, 3, 3}, // The last 3 here is intentional! | |
742 { 1, 2, 0, 4, 1, 4}, | |
743 { 1, 2, 3, 4, 3, 4} | |
Mattias Nissler (ping if slow)
2010/12/22 12:09:03
How about using a struct with descriptive variable
battre
2010/12/22 18:34:53
Done.
| |
744 }; | |
745 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | |
746 for (size_t row = 0; row < arraysize(values); ++row) { | |
747 LOG(INFO) << "Testing row " << row; | |
748 UninstallExtension(ext1_->id()); | |
749 UninstallExtension(ext2_->id()); | |
750 if (values[row][0]) { | |
751 InstallExtControlledPref( | |
752 ext1_, kPref1, Value::CreateStringValue(strings[values[row][0]])); | |
753 } | |
754 if (values[row][1]) { | |
755 InstallExtControlledPrefIncognito( | |
756 ext1_, kPref1, Value::CreateStringValue(strings[values[row][1]])); | |
757 } | |
758 if (values[row][2]) { | |
759 InstallExtControlledPref( | |
760 ext2_, kPref1, Value::CreateStringValue(strings[values[row][2]])); | |
761 } | |
762 if (values[row][3]) { | |
763 InstallExtControlledPrefIncognito( | |
764 ext2_, kPref1, Value::CreateStringValue(strings[values[row][3]])); | |
765 } | |
766 std::string actual; | |
767 actual = prefs()->pref_service()->GetString(kPref1); | |
768 EXPECT_EQ(strings[values[row][4]], actual); | |
769 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
770 EXPECT_EQ(strings[values[row][5]], actual); | |
771 } | |
772 } | |
773 virtual void Verify() {} | |
774 }; | |
775 TEST_F(ExtensionPrefsInstallOverwrittenExtensionsIncognito, | |
776 ExtensionPrefsInstallOverwrittenExtensionsIncognito) {} | |
777 | |
665 // Make sure the last-installed extension wins even if other extensions set | 778 // Make sure the last-installed extension wins even if other extensions set |
666 // the same or different preferences later. | 779 // the same or different preferences later. |
667 class ExtensionPrefsInstallInterleavedExtensions | 780 class ExtensionPrefsInstallInterleavedExtensions |
668 : public ExtensionPrefsPreferencesBase { | 781 : public ExtensionPrefsPreferencesBase { |
669 virtual void Initialize() { | 782 virtual void Initialize() { |
670 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 783 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
671 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val2")); | 784 InstallExtControlledPref(ext2_, kPref2, Value::CreateStringValue("val2")); |
672 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val3")); | 785 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val3")); |
673 | 786 |
674 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val4")); | 787 InstallExtControlledPref(ext3_, kPref3, Value::CreateStringValue("val4")); |
675 InstallExtControlledPref(ext2_, kPref3, Value::CreateStringValue("val5")); | 788 InstallExtControlledPref(ext2_, kPref3, Value::CreateStringValue("val5")); |
676 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val6")); | 789 InstallExtControlledPref(ext1_, kPref3, Value::CreateStringValue("val6")); |
677 | 790 |
678 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val7")); | 791 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val7")); |
679 } | 792 } |
680 virtual void Verify() { | 793 virtual void Verify() { |
681 std::string actual; | 794 std::string actual; |
682 actual = prefs()->pref_service()->GetString(kPref1); | 795 actual = prefs()->pref_service()->GetString(kPref1); |
683 EXPECT_EQ("val7", actual); | 796 EXPECT_EQ("val7", actual); |
797 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
798 EXPECT_EQ("val7", actual); | |
684 actual = prefs()->pref_service()->GetString(kPref2); | 799 actual = prefs()->pref_service()->GetString(kPref2); |
685 EXPECT_EQ("val2", actual); | 800 EXPECT_EQ("val2", actual); |
801 actual = prefs_.incognito_pref_service()->GetString(kPref2); | |
802 EXPECT_EQ("val2", actual); | |
686 actual = prefs()->pref_service()->GetString(kPref3); | 803 actual = prefs()->pref_service()->GetString(kPref3); |
687 EXPECT_EQ("val4", actual); | 804 EXPECT_EQ("val4", actual); |
805 actual = prefs_.incognito_pref_service()->GetString(kPref3); | |
806 EXPECT_EQ("val4", actual); | |
688 } | 807 } |
689 }; | 808 }; |
690 TEST_F(ExtensionPrefsInstallInterleavedExtensions, | 809 TEST_F(ExtensionPrefsInstallInterleavedExtensions, |
691 ExtensionPrefsInstallInterleavedExtensions) {} | 810 ExtensionPrefsInstallInterleavedExtensions) {} |
692 | 811 |
693 class ExtensionPrefsUninstallOnlyExtension | 812 class ExtensionPrefsUninstallOnlyExtension |
694 : public ExtensionPrefsPreferencesBase { | 813 : public ExtensionPrefsPreferencesBase { |
695 virtual void Initialize() { | 814 virtual void Initialize() { |
696 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 815 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
697 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); | 816 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val2")); |
(...skipping 30 matching lines...) Expand all Loading... | |
728 actual = prefs()->pref_service()->GetString(kPref2); | 847 actual = prefs()->pref_service()->GetString(kPref2); |
729 EXPECT_EQ("val4", actual); | 848 EXPECT_EQ("val4", actual); |
730 } | 849 } |
731 }; | 850 }; |
732 TEST_F(ExtensionPrefsUninstallIrrelevantExtension, | 851 TEST_F(ExtensionPrefsUninstallIrrelevantExtension, |
733 ExtensionPrefsUninstallIrrelevantExtension) {} | 852 ExtensionPrefsUninstallIrrelevantExtension) {} |
734 | 853 |
735 // Tests uninstalling an extension that was winning for all preferences. | 854 // Tests uninstalling an extension that was winning for all preferences. |
736 class ExtensionPrefsUninstallExtensionFromTop | 855 class ExtensionPrefsUninstallExtensionFromTop |
737 : public ExtensionPrefsPreferencesBase { | 856 : public ExtensionPrefsPreferencesBase { |
857 public: | |
858 ExtensionPrefsUninstallExtensionFromTop() : iteration(0) {} | |
859 | |
738 virtual void Initialize() { | 860 virtual void Initialize() { |
739 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 861 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
862 InstallExtControlledPrefIncognito(ext1_, kPref1, | |
863 Value::CreateStringValue("val1i")); | |
740 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); | 864 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); |
865 InstallExtControlledPrefIncognito(ext2_, kPref1, | |
866 Value::CreateStringValue("val2i")); | |
741 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); | 867 InstallExtControlledPref(ext3_, kPref1, Value::CreateStringValue("val3")); |
868 InstallExtControlledPrefIncognito(ext3_, kPref1, | |
869 Value::CreateStringValue("val3i")); | |
742 | 870 |
743 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); | 871 InstallExtControlledPref(ext1_, kPref2, Value::CreateStringValue("val4")); |
872 InstallExtControlledPrefIncognito(ext1_, kPref2, | |
873 Value::CreateStringValue("val4i")); | |
744 InstallExtControlledPref(ext3_, kPref2, Value::CreateStringValue("val5")); | 874 InstallExtControlledPref(ext3_, kPref2, Value::CreateStringValue("val5")); |
875 InstallExtControlledPrefIncognito(ext3_, kPref2, | |
876 Value::CreateStringValue("val5i")); | |
745 | 877 |
746 UninstallExtension(ext3_->id()); | 878 UninstallExtension(ext3_->id()); |
747 } | 879 } |
748 virtual void Verify() { | 880 virtual void Verify() { |
749 std::string actual; | 881 std::string actual; |
750 actual = prefs()->pref_service()->GetString(kPref1); | 882 actual = prefs()->pref_service()->GetString(kPref1); |
751 EXPECT_EQ("val2", actual); | 883 EXPECT_EQ("val2", actual); |
752 actual = prefs()->pref_service()->GetString(kPref2); | 884 actual = prefs()->pref_service()->GetString(kPref2); |
753 EXPECT_EQ("val4", actual); | 885 EXPECT_EQ("val4", actual); |
886 // After the reload (iteration == 1) all incognito settings are forgotten. | |
887 actual = prefs_.incognito_pref_service()->GetString(kPref1); | |
888 EXPECT_EQ((iteration == 0 ? "val2i" : "val2"), actual); | |
889 actual = prefs_.incognito_pref_service()->GetString(kPref2); | |
890 EXPECT_EQ((iteration == 0 ? "val4i" : "val4"), actual); | |
891 ++iteration; | |
754 } | 892 } |
893 int iteration; | |
danno
2010/12/22 10:48:21
should be iteration_
battre
2010/12/22 18:34:53
Done.
| |
755 }; | 894 }; |
756 TEST_F(ExtensionPrefsUninstallExtensionFromTop, | 895 TEST_F(ExtensionPrefsUninstallExtensionFromTop, |
757 ExtensionPrefsUninstallExtensionFromTop) {} | 896 ExtensionPrefsUninstallExtensionFromTop) {} |
758 | 897 |
759 // Tests uninstalling an extension that was winning for only some preferences. | 898 // Tests uninstalling an extension that was winning for only some preferences. |
760 class ExtensionPrefsUninstallExtensionFromMiddle | 899 class ExtensionPrefsUninstallExtensionFromMiddle |
761 : public ExtensionPrefsPreferencesBase { | 900 : public ExtensionPrefsPreferencesBase { |
762 virtual void Initialize() { | 901 virtual void Initialize() { |
763 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); | 902 InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
764 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); | 903 InstallExtControlledPref(ext2_, kPref1, Value::CreateStringValue("val2")); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
869 } | 1008 } |
870 MOCK_METHOD0(Die, void()); | 1009 MOCK_METHOD0(Die, void()); |
871 }; | 1010 }; |
872 | 1011 |
873 class ExtensionPrefsSetExtensionControlledPref | 1012 class ExtensionPrefsSetExtensionControlledPref |
874 : public ExtensionPrefsPreferencesBase { | 1013 : public ExtensionPrefsPreferencesBase { |
875 public: | 1014 public: |
876 virtual void Initialize() { | 1015 virtual void Initialize() { |
877 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); | 1016 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); |
878 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); | 1017 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); |
1018 MockStringValue* v1i = new MockStringValue("https://www.chromium.org"); | |
1019 MockStringValue* v2i = new MockStringValue("https://www.chromium.org"); | |
879 // Ownership is taken, value shall not be deleted. | 1020 // Ownership is taken, value shall not be deleted. |
880 EXPECT_CALL(*v1, Die()).Times(0); | 1021 EXPECT_CALL(*v1, Die()).Times(0); |
1022 EXPECT_CALL(*v1i, Die()).Times(0); | |
881 InstallExtControlledPref(ext1_, kPref1, v1); | 1023 InstallExtControlledPref(ext1_, kPref1, v1); |
1024 InstallExtControlledPrefIncognito(ext1_, kPref1, v1i); | |
882 testing::Mock::VerifyAndClearExpectations(v1); | 1025 testing::Mock::VerifyAndClearExpectations(v1); |
1026 testing::Mock::VerifyAndClearExpectations(v1i); | |
883 // Make sure there is no memory leak and both values are deleted. | 1027 // Make sure there is no memory leak and both values are deleted. |
1028 EXPECT_CALL(*v1, Die()).Times(1); | |
1029 EXPECT_CALL(*v1i, Die()).Times(1); | |
884 EXPECT_CALL(*v2, Die()).Times(1); | 1030 EXPECT_CALL(*v2, Die()).Times(1); |
885 EXPECT_CALL(*v1, Die()).Times(1); | 1031 EXPECT_CALL(*v2i, Die()).Times(1); |
886 InstallExtControlledPref(ext1_, kPref1, v2); | 1032 InstallExtControlledPref(ext1_, kPref1, v2); |
1033 InstallExtControlledPrefIncognito(ext1_, kPref1, v2i); | |
887 prefs_.RecreateExtensionPrefs(); | 1034 prefs_.RecreateExtensionPrefs(); |
1035 testing::Mock::VerifyAndClearExpectations(v1); | |
1036 testing::Mock::VerifyAndClearExpectations(v1i); | |
1037 testing::Mock::VerifyAndClearExpectations(v2); | |
1038 testing::Mock::VerifyAndClearExpectations(v2i); | |
888 } | 1039 } |
889 | 1040 |
890 virtual void Verify() { | 1041 virtual void Verify() { |
891 } | 1042 } |
892 }; | 1043 }; |
893 TEST_F(ExtensionPrefsSetExtensionControlledPref, | 1044 TEST_F(ExtensionPrefsSetExtensionControlledPref, |
894 ExtensionPrefsSetExtensionControlledPref) {} | 1045 ExtensionPrefsSetExtensionControlledPref) {} |
OLD | NEW |