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

Unified Diff: chrome/installer/setup/install_worker_unittest.cc

Issue 10805043: (re-commit) Implement installation of the Chrome App Host. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix setup_unittests Created 8 years, 5 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/setup/install_worker.cc ('k') | chrome/installer/setup/setup_main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/setup/install_worker_unittest.cc
diff --git a/chrome/installer/setup/install_worker_unittest.cc b/chrome/installer/setup/install_worker_unittest.cc
index 9a09805a9ea383d555518ec3d7cee139d89c8dff..1a9b8cadc134765de09fca4d0c7cb89b6e7de3cb 100644
--- a/chrome/installer/setup/install_worker_unittest.cc
+++ b/chrome/installer/setup/install_worker_unittest.cc
@@ -191,6 +191,21 @@ class InstallWorkerTest : public testing::Test {
system_level, BrowserDistribution::CHROME_BINARIES) == NULL) {
MockProductState product_state;
product_state.set_version(new Version(*current_version_));
+ product_state.set_brand(L"TEST");
+ product_state.set_multi_install(true);
+ BrowserDistribution* dist =
+ BrowserDistribution::GetSpecificDistribution(
+ BrowserDistribution::CHROME_BINARIES);
+ FilePath install_path =
+ installer::GetChromeInstallPath(system_level, dist);
+ product_state.SetUninstallProgram(
+ install_path.AppendASCII(current_version_->GetString())
+ .Append(installer::kInstallerDir)
+ .Append(installer::kSetupExe));
+ product_state.AddUninstallSwitch(installer::switches::kUninstall);
+ product_state.AddUninstallSwitch(installer::switches::kMultiInstall);
+ if (system_level)
+ product_state.AddUninstallSwitch(installer::switches::kSystemLevel);
installation_state->SetProductState(system_level,
BrowserDistribution::CHROME_BINARIES,
product_state);
@@ -302,6 +317,33 @@ class InstallWorkerTest : public testing::Test {
return installer_state.release();
}
+ static void AddChromeBinariesToInstallerState(
+ const InstallationState& machine_state,
+ MockInstallerState* installer_state) {
+ if (!installer_state->is_multi_install()) {
+ NOTREACHED();
+ return;
+ }
+ if (installer_state->FindProduct(BrowserDistribution::CHROME_BINARIES))
+ return;
+
+ // Fresh install or upgrade?
+ const ProductState* chrome_binaries =
+ machine_state.GetProductState(installer_state->system_install(),
+ BrowserDistribution::CHROME_BINARIES);
+ if (chrome_binaries != NULL) {
+ installer_state->AddProductFromState(BrowserDistribution::CHROME_BINARIES,
+ *chrome_binaries);
+ } else {
+ BrowserDistribution* dist =
+ BrowserDistribution::GetSpecificDistribution(
+ BrowserDistribution::CHROME_BINARIES);
+ scoped_ptr<Product> product(new Product(dist));
+ product->SetOption(installer::kOptionMultiInstall, true);
+ installer_state->AddProduct(&product);
+ }
+ }
+
static void AddChromeToInstallerState(
const InstallationState& machine_state,
MockInstallerState* installer_state) {
@@ -357,6 +399,8 @@ class InstallWorkerTest : public testing::Test {
scoped_ptr<MockInstallerState> installer_state(
BuildBasicInstallerState(system_install, multi_install, machine_state,
operation));
+ if (multi_install)
+ AddChromeBinariesToInstallerState(machine_state, installer_state.get());
AddChromeToInstallerState(machine_state, installer_state.get());
return installer_state.release();
}
@@ -367,9 +411,13 @@ class InstallWorkerTest : public testing::Test {
bool ready_mode,
const InstallationState& machine_state,
InstallerState::Operation operation) {
+ // This method only works for installation/upgrade.
+ DCHECK(operation != InstallerState::UNINSTALL);
scoped_ptr<MockInstallerState> installer_state(
BuildBasicInstallerState(system_install, multi_install, machine_state,
operation));
+ if (multi_install)
+ AddChromeBinariesToInstallerState(machine_state, installer_state.get());
AddChromeFrameToInstallerState(machine_state, ready_mode,
installer_state.get());
return installer_state.release();
@@ -451,6 +499,9 @@ class OldIELowRightsTests : public InstallWorkerTest,
system_level_, multi_install_, *installation_state_,
multi_install_ ? InstallerState::MULTI_UPDATE :
InstallerState::SINGLE_INSTALL_OR_UPDATE));
+ if (multi_install_)
+ AddChromeBinariesToInstallerState(*installation_state_,
+ installer_state_.get());
AddChromeFrameToInstallerState(*installation_state_, false,
installer_state_.get());
}
@@ -671,8 +722,11 @@ TEST_F(QuickEnableAbsentTest, CleanInstallSingleChrome) {
scoped_ptr<MockInstallerState> installer_state(
BuildChromeInstallerState(system_level_, false, *machine_state_,
InstallerState::SINGLE_INSTALL_OR_UPDATE));
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnableAbsentTest, CleanInstallSingleChromeFrame) {
@@ -681,8 +735,11 @@ TEST_F(QuickEnableAbsentTest, CleanInstallSingleChromeFrame) {
BuildChromeFrameInstallerState(system_level_, false, false,
*machine_state_,
InstallerState::SINGLE_INSTALL_OR_UPDATE));
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnableAbsentTest, CleanInstallMultiChromeFrame) {
@@ -691,8 +748,11 @@ TEST_F(QuickEnableAbsentTest, CleanInstallMultiChromeFrame) {
BuildChromeFrameInstallerState(system_level_, true, false,
*machine_state_,
InstallerState::MULTI_INSTALL));
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnableAbsentTest, CleanInstallMultiChromeChromeFrame) {
@@ -700,11 +760,15 @@ TEST_F(QuickEnableAbsentTest, CleanInstallMultiChromeChromeFrame) {
scoped_ptr<MockInstallerState> installer_state(
BuildBasicInstallerState(system_level_, true, *machine_state_,
InstallerState::MULTI_INSTALL));
+ AddChromeBinariesToInstallerState(*machine_state_, installer_state.get());
AddChromeToInstallerState(*machine_state_, installer_state.get());
AddChromeFrameToInstallerState(*machine_state_, false,
installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnableAbsentTest, UninstallMultiChromeLeaveMultiChromeFrame) {
@@ -717,8 +781,11 @@ TEST_F(QuickEnableAbsentTest, UninstallMultiChromeLeaveMultiChromeFrame) {
BuildBasicInstallerState(system_level_, true, *machine_state_,
InstallerState::UNINSTALL));
AddChromeToInstallerState(*machine_state_, installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnableAbsentTest, UninstallMultiChromeLeaveSingleChromeFrame) {
@@ -731,8 +798,12 @@ TEST_F(QuickEnableAbsentTest, UninstallMultiChromeLeaveSingleChromeFrame) {
BuildBasicInstallerState(system_level_, true, *machine_state_,
InstallerState::UNINSTALL));
AddChromeToInstallerState(*machine_state_, installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddChromeBinariesToInstallerState(*machine_state_, installer_state.get());
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnableAbsentTest, AcceptReadyMode) {
@@ -746,8 +817,12 @@ TEST_F(QuickEnableAbsentTest, AcceptReadyMode) {
InstallerState::UNINSTALL));
AddChromeToInstallerState(*machine_state_, installer_state.get());
AddChromeFrameToInstallerState(*machine_state_, false, installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddChromeBinariesToInstallerState(*machine_state_, installer_state.get());
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
// Test scenarios under which the quick-enable-cf command should exist after the
@@ -808,8 +883,11 @@ TEST_F(QuickEnablePresentTest, CleanInstallMultiChrome) {
scoped_ptr<MockInstallerState> installer_state(
BuildChromeInstallerState(system_level_, true, *machine_state_,
InstallerState::MULTI_INSTALL));
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnablePresentTest, CleanInstallMultiChromeReadyMode) {
@@ -817,11 +895,15 @@ TEST_F(QuickEnablePresentTest, CleanInstallMultiChromeReadyMode) {
scoped_ptr<MockInstallerState> installer_state(
BuildBasicInstallerState(system_level_, true, *machine_state_,
InstallerState::MULTI_INSTALL));
+ AddChromeBinariesToInstallerState(*machine_state_, installer_state.get());
AddChromeToInstallerState(*machine_state_, installer_state.get());
AddChromeFrameToInstallerState(*machine_state_, true,
installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnablePresentTest, UninstallSingleChromeFrame) {
@@ -834,8 +916,11 @@ TEST_F(QuickEnablePresentTest, UninstallSingleChromeFrame) {
BuildBasicInstallerState(system_level_, false, *machine_state_,
InstallerState::UNINSTALL));
AddChromeFrameToInstallerState(*machine_state_, false, installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
TEST_F(QuickEnablePresentTest, UninstallMultiChromeFrame) {
@@ -848,8 +933,11 @@ TEST_F(QuickEnablePresentTest, UninstallMultiChromeFrame) {
BuildBasicInstallerState(system_level_, true, *machine_state_,
InstallerState::UNINSTALL));
AddChromeFrameToInstallerState(*machine_state_, false, installer_state.get());
- AddQuickEnableWorkItems(*installer_state, *machine_state_, &setup_path_,
- new_version_.get(), &work_item_list_);
+ AddQuickEnableChromeFrameWorkItems(*installer_state,
+ *machine_state_,
+ &setup_path_,
+ new_version_.get(),
+ &work_item_list_);
}
#endif // defined(GOOGLE_CHROME_BUILD)
« 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