Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Side by Side Diff: chrome/installer/setup/install_worker_unittest.cc

Issue 103253004: Remove Chrome Frame quick-enable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment fix Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/installer/setup/install_worker.cc ('k') | chrome/installer/setup/setup_main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/installer/setup/install_worker.h" 5 #include "chrome/installer/setup/install_worker.h"
6 6
7 #include "base/win/registry.h" 7 #include "base/win/registry.h"
8 #include "base/version.h" 8 #include "base/version.h"
9 #include "chrome/common/chrome_constants.h" 9 #include "chrome/common/chrome_constants.h"
10 #include "chrome/installer/setup/setup_util.h" 10 #include "chrome/installer/setup/setup_util.h"
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 StrictMock<MockWorkItemList> work_item_list_; 707 StrictMock<MockWorkItemList> work_item_list_;
708 }; 708 };
709 709
710 const wchar_t QuickEnableAbsentTest::kRegKeyPath[] = 710 const wchar_t QuickEnableAbsentTest::kRegKeyPath[] =
711 L"Software\\Google\\Update\\Clients\\" 711 L"Software\\Google\\Update\\Clients\\"
712 L"{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}\\Commands\\quick-enable-cf"; 712 L"{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}\\Commands\\quick-enable-cf";
713 713
714 TEST_F(QuickEnableAbsentTest, CleanInstallSingleChrome) { 714 TEST_F(QuickEnableAbsentTest, CleanInstallSingleChrome) {
715 // Install single Chrome on a clean system. 715 // Install single Chrome on a clean system.
716 scoped_ptr<MockInstallerState> installer_state( 716 scoped_ptr<MockInstallerState> installer_state(
717 BuildChromeInstallerState(system_level_, false, *machine_state_,
718 InstallerState::SINGLE_INSTALL_OR_UPDATE));
719 AddQuickEnableChromeFrameWorkItems(*installer_state,
720 *machine_state_,
721 setup_path_,
722 *new_version_.get(),
723 &work_item_list_);
724 }
725
726 TEST_F(QuickEnableAbsentTest, CleanInstallSingleChromeFrame) {
727 // Install single Chrome Frame on a clean system.
728 scoped_ptr<MockInstallerState> installer_state(
729 BuildChromeFrameInstallerState(system_level_, false, *machine_state_,
730 InstallerState::SINGLE_INSTALL_OR_UPDATE));
731 AddQuickEnableChromeFrameWorkItems(*installer_state,
732 *machine_state_,
733 setup_path_,
734 *new_version_.get(),
735 &work_item_list_);
736 }
737
738 TEST_F(QuickEnableAbsentTest, CleanInstallMultiChromeFrame) {
739 // Install multi Chrome Frame on a clean system.
740 scoped_ptr<MockInstallerState> installer_state(
741 BuildChromeFrameInstallerState(system_level_, true, *machine_state_,
742 InstallerState::MULTI_INSTALL));
743 AddQuickEnableChromeFrameWorkItems(*installer_state,
744 *machine_state_,
745 setup_path_,
746 *new_version_.get(),
747 &work_item_list_);
748 }
749
750 TEST_F(QuickEnableAbsentTest, CleanInstallMultiChromeChromeFrame) {
751 // Install multi Chrome and Chrome Frame on a clean system.
752 scoped_ptr<MockInstallerState> installer_state(
753 BuildBasicInstallerState(system_level_, true, *machine_state_, 717 BuildBasicInstallerState(system_level_, true, *machine_state_,
754 InstallerState::MULTI_INSTALL)); 718 InstallerState::MULTI_UPDATE));
755 AddChromeBinariesToInstallerState(*machine_state_, installer_state.get()); 719 AddQuickEnableChromeFrameWorkItems(*installer_state, &work_item_list_);
756 AddChromeToInstallerState(*machine_state_, installer_state.get());
757 AddChromeFrameToInstallerState(*machine_state_, installer_state.get());
758 AddQuickEnableChromeFrameWorkItems(*installer_state,
759 *machine_state_,
760 setup_path_,
761 *new_version_.get(),
762 &work_item_list_);
763 }
764
765 TEST_F(QuickEnableAbsentTest, UninstallMultiChromeLeaveMultiChromeFrame) {
766 // Uninstall multi Chrome on a machine with multi Chrome Frame.
767 AddChromeToInstallationState(system_level_, true, machine_state_.get());
768 AddChromeFrameToInstallationState(system_level_, true, machine_state_.get());
769 scoped_ptr<MockInstallerState> installer_state(
770 BuildBasicInstallerState(system_level_, true, *machine_state_,
771 InstallerState::UNINSTALL));
772 AddChromeToInstallerState(*machine_state_, installer_state.get());
773 AddQuickEnableChromeFrameWorkItems(*installer_state,
774 *machine_state_,
775 setup_path_,
776 *new_version_.get(),
777 &work_item_list_);
778 }
779
780 TEST_F(QuickEnableAbsentTest, UninstallMultiChromeLeaveSingleChromeFrame) {
781 // Uninstall multi Chrome on a machine with single Chrome Frame.
782 AddChromeToInstallationState(system_level_, true, machine_state_.get());
783 AddChromeFrameToInstallationState(system_level_, false, machine_state_.get());
784 scoped_ptr<MockInstallerState> installer_state(
785 BuildBasicInstallerState(system_level_, true, *machine_state_,
786 InstallerState::UNINSTALL));
787 AddChromeToInstallerState(*machine_state_, installer_state.get());
788 AddChromeBinariesToInstallerState(*machine_state_, installer_state.get());
789 AddQuickEnableChromeFrameWorkItems(*installer_state,
790 *machine_state_,
791 setup_path_,
792 *new_version_.get(),
793 &work_item_list_);
794 }
795
796 // Test scenarios under which the quick-enable-cf command should exist after the
797 // run.
798 class QuickEnablePresentTest : public InstallWorkerTest {
799 public:
800 virtual void SetUp() {
801 InstallWorkerTest::SetUp();
802 root_key_ = system_level_ ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
803 create_reg_key_work_item_.reset(
804 WorkItem::CreateCreateRegKeyWorkItem(root_key_, kRegKeyPath));
805 set_reg_value_work_item_.reset(
806 WorkItem::CreateSetRegValueWorkItem(root_key_, kRegKeyPath, L"", L"",
807 false));
808 machine_state_.reset(new MockInstallationState());
809 EXPECT_CALL(work_item_list_,
810 AddCreateRegKeyWorkItem(Eq(root_key_), StrCaseEq(kRegKeyPath)))
811 .Times(1)
812 .WillOnce(Return(create_reg_key_work_item_.get()));
813 EXPECT_CALL(work_item_list_,
814 AddSetRegStringValueWorkItem(Eq(root_key_),
815 StrCaseEq(kRegKeyPath),
816 StrEq(L"CommandLine"), _,
817 Eq(true)))
818 .Times(1)
819 .WillOnce(Return(set_reg_value_work_item_.get()));
820 EXPECT_CALL(work_item_list_,
821 AddSetRegDwordValueWorkItem(Eq(root_key_),
822 StrCaseEq(kRegKeyPath), _,
823 Eq(static_cast<DWORD>(1)),
824 Eq(true)))
825 .Times(2)
826 .WillRepeatedly(Return(set_reg_value_work_item_.get()));
827 }
828 virtual void TearDown() {
829 machine_state_.reset();
830 set_reg_value_work_item_.reset();
831 create_reg_key_work_item_.reset();
832 root_key_ = NULL;
833 InstallWorkerTest::TearDown();
834 }
835 protected:
836 static const bool system_level_ = false;
837 static const wchar_t kRegKeyPath[];
838 HKEY root_key_;
839 scoped_ptr<CreateRegKeyWorkItem> create_reg_key_work_item_;
840 scoped_ptr<SetRegValueWorkItem> set_reg_value_work_item_;
841 scoped_ptr<MockInstallationState> machine_state_;
842 StrictMock<MockWorkItemList> work_item_list_;
843 };
844
845 const wchar_t QuickEnablePresentTest::kRegKeyPath[] =
846 L"Software\\Google\\Update\\Clients\\"
847 L"{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}\\Commands\\quick-enable-cf";
848
849 TEST_F(QuickEnablePresentTest, CleanInstallMultiChrome) {
850 // Install multi Chrome on a clean system.
851 scoped_ptr<MockInstallerState> installer_state(
852 BuildChromeInstallerState(system_level_, true, *machine_state_,
853 InstallerState::MULTI_INSTALL));
854 AddQuickEnableChromeFrameWorkItems(*installer_state,
855 *machine_state_,
856 setup_path_,
857 *new_version_.get(),
858 &work_item_list_);
859 }
860
861 TEST_F(QuickEnablePresentTest, UninstallSingleChromeFrame) {
862 // Uninstall single Chrome Frame on a machine with multi Chrome.
863 AddChromeToInstallationState(system_level_, true, machine_state_.get());
864 AddChromeFrameToInstallationState(system_level_, false, machine_state_.get());
865 scoped_ptr<MockInstallerState> installer_state(
866 BuildBasicInstallerState(system_level_, false, *machine_state_,
867 InstallerState::UNINSTALL));
868 AddChromeFrameToInstallerState(*machine_state_, installer_state.get());
869 AddQuickEnableChromeFrameWorkItems(*installer_state,
870 *machine_state_,
871 setup_path_,
872 *new_version_.get(),
873 &work_item_list_);
874 }
875
876 TEST_F(QuickEnablePresentTest, UninstallMultiChromeFrame) {
877 // Uninstall multi Chrome Frame on a machine with multi Chrome.
878 AddChromeToInstallationState(system_level_, true, machine_state_.get());
879 AddChromeFrameToInstallationState(system_level_, true, machine_state_.get());
880 scoped_ptr<MockInstallerState> installer_state(
881 BuildBasicInstallerState(system_level_, true, *machine_state_,
882 InstallerState::UNINSTALL));
883 AddChromeFrameToInstallerState(*machine_state_, installer_state.get());
884 AddQuickEnableChromeFrameWorkItems(*installer_state,
885 *machine_state_,
886 setup_path_,
887 *new_version_.get(),
888 &work_item_list_);
889 } 720 }
890 721
891 TEST_F(InstallWorkerTest, WillProductBePresentAfterSetup) { 722 TEST_F(InstallWorkerTest, WillProductBePresentAfterSetup) {
892 BrowserDistribution::Type prod_type_list[] = { 723 BrowserDistribution::Type prod_type_list[] = {
893 BrowserDistribution::CHROME_BROWSER, 724 BrowserDistribution::CHROME_BROWSER,
894 BrowserDistribution::CHROME_FRAME, 725 BrowserDistribution::CHROME_FRAME,
895 // Excluding BrowserDistribution::CHROME_BINARIES, since it is installed 726 // Excluding BrowserDistribution::CHROME_BINARIES, since it is installed
896 // along with other products. 727 // along with other products.
897 }; 728 };
898 enum { // Index into prod_type_list[]. 729 enum { // Index into prod_type_list[].
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
967 prod_type_list[i_type_check]); 798 prod_type_list[i_type_check]);
968 bool prod_expect = (mach_after & (1 << i_type_check)) != 0; 799 bool prod_expect = (mach_after & (1 << i_type_check)) != 0;
969 EXPECT_EQ(prod_expect, prod_res); 800 EXPECT_EQ(prod_expect, prod_res);
970 } 801 }
971 } 802 }
972 } 803 }
973 } 804 }
974 } 805 }
975 806
976 #endif // defined(GOOGLE_CHROME_BUILD) 807 #endif // defined(GOOGLE_CHROME_BUILD)
OLDNEW
« no previous file with comments | « chrome/installer/setup/install_worker.cc ('k') | chrome/installer/setup/setup_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698