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

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

Issue 1301883002: Revert of base: Remove using:: declaration from version.h header. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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 unified diff | 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 »
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 <vector> 7 #include <vector>
8 8
9 #include "base/win/registry.h" 9 #include "base/win/registry.h"
10 #include "base/version.h" 10 #include "base/version.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 DWORD, 112 DWORD,
113 bool)); 113 bool));
114 MOCK_METHOD3(AddSelfRegWorkItem, WorkItem* (const std::wstring&, 114 MOCK_METHOD3(AddSelfRegWorkItem, WorkItem* (const std::wstring&,
115 bool, 115 bool,
116 bool)); 116 bool));
117 }; 117 };
118 118
119 class MockProductState : public ProductState { 119 class MockProductState : public ProductState {
120 public: 120 public:
121 // Takes ownership of |version|. 121 // Takes ownership of |version|.
122 void set_version(base::Version* version) { version_.reset(version); } 122 void set_version(Version* version) { version_.reset(version); }
123 void set_multi_install(bool multi) { multi_install_ = multi; } 123 void set_multi_install(bool multi) { multi_install_ = multi; }
124 void set_brand(const std::wstring& brand) { brand_ = brand; } 124 void set_brand(const std::wstring& brand) { brand_ = brand; }
125 void set_eula_accepted(DWORD eula_accepted) { 125 void set_eula_accepted(DWORD eula_accepted) {
126 has_eula_accepted_ = true; 126 has_eula_accepted_ = true;
127 eula_accepted_ = eula_accepted; 127 eula_accepted_ = eula_accepted;
128 } 128 }
129 void clear_eula_accepted() { has_eula_accepted_ = false; } 129 void clear_eula_accepted() { has_eula_accepted_ = false; }
130 void set_usagestats(DWORD usagestats) { 130 void set_usagestats(DWORD usagestats) {
131 has_usagestats_ = true; 131 has_usagestats_ = true;
132 usagestats_ = usagestats; 132 usagestats_ = usagestats;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 InstallerState::set_package_type(type); 179 InstallerState::set_package_type(type);
180 } 180 }
181 }; 181 };
182 182
183 // The test fixture 183 // The test fixture
184 //------------------------------------------------------------------------------ 184 //------------------------------------------------------------------------------
185 185
186 class InstallWorkerTest : public testing::Test { 186 class InstallWorkerTest : public testing::Test {
187 public: 187 public:
188 void SetUp() override { 188 void SetUp() override {
189 current_version_.reset(new base::Version("1.0.0.0")); 189 current_version_.reset(new Version("1.0.0.0"));
190 new_version_.reset(new base::Version("42.0.0.0")); 190 new_version_.reset(new Version("42.0.0.0"));
191 191
192 // Don't bother ensuring that these paths exist. Since we're just 192 // Don't bother ensuring that these paths exist. Since we're just
193 // building the work item lists and not running them, they shouldn't 193 // building the work item lists and not running them, they shouldn't
194 // actually be touched. 194 // actually be touched.
195 archive_path_ = 195 archive_path_ =
196 base::FilePath(L"C:\\UnlikelyPath\\Temp\\chrome_123\\chrome.7z"); 196 base::FilePath(L"C:\\UnlikelyPath\\Temp\\chrome_123\\chrome.7z");
197 // TODO(robertshield): Take this from the BrowserDistribution once that 197 // TODO(robertshield): Take this from the BrowserDistribution once that
198 // no longer depends on MasterPreferences. 198 // no longer depends on MasterPreferences.
199 installation_path_ = 199 installation_path_ =
200 base::FilePath(L"C:\\Program Files\\Google\\Chrome\\"); 200 base::FilePath(L"C:\\Program Files\\Google\\Chrome\\");
201 src_path_ = base::FilePath( 201 src_path_ = base::FilePath(
202 L"C:\\UnlikelyPath\\Temp\\chrome_123\\source\\Chrome-bin"); 202 L"C:\\UnlikelyPath\\Temp\\chrome_123\\source\\Chrome-bin");
203 setup_path_ = base::FilePath( 203 setup_path_ = base::FilePath(
204 L"C:\\UnlikelyPath\\Temp\\CR_123.tmp\\setup.exe"); 204 L"C:\\UnlikelyPath\\Temp\\CR_123.tmp\\setup.exe");
205 temp_dir_ = base::FilePath(L"C:\\UnlikelyPath\\Temp\\chrome_123"); 205 temp_dir_ = base::FilePath(L"C:\\UnlikelyPath\\Temp\\chrome_123");
206 } 206 }
207 207
208 void TearDown() override {} 208 void TearDown() override {}
209 209
210 void MaybeAddBinariesToInstallationState( 210 void MaybeAddBinariesToInstallationState(
211 bool system_level, 211 bool system_level,
212 MockInstallationState* installation_state) { 212 MockInstallationState* installation_state) {
213 if (installation_state->GetProductState( 213 if (installation_state->GetProductState(
214 system_level, BrowserDistribution::CHROME_BINARIES) == NULL) { 214 system_level, BrowserDistribution::CHROME_BINARIES) == NULL) {
215 MockProductState product_state; 215 MockProductState product_state;
216 product_state.set_version(new base::Version(*current_version_)); 216 product_state.set_version(new Version(*current_version_));
217 product_state.set_brand(L"TEST"); 217 product_state.set_brand(L"TEST");
218 product_state.set_multi_install(true); 218 product_state.set_multi_install(true);
219 BrowserDistribution* dist = 219 BrowserDistribution* dist =
220 BrowserDistribution::GetSpecificDistribution( 220 BrowserDistribution::GetSpecificDistribution(
221 BrowserDistribution::CHROME_BINARIES); 221 BrowserDistribution::CHROME_BINARIES);
222 base::FilePath install_path = 222 base::FilePath install_path =
223 installer::GetChromeInstallPath(system_level, dist); 223 installer::GetChromeInstallPath(system_level, dist);
224 product_state.SetUninstallProgram( 224 product_state.SetUninstallProgram(
225 install_path.AppendASCII(current_version_->GetString()) 225 install_path.AppendASCII(current_version_->GetString())
226 .Append(installer::kInstallerDir) 226 .Append(installer::kInstallerDir)
227 .Append(installer::kSetupExe)); 227 .Append(installer::kSetupExe));
228 product_state.AddUninstallSwitch(installer::switches::kUninstall); 228 product_state.AddUninstallSwitch(installer::switches::kUninstall);
229 product_state.AddUninstallSwitch(installer::switches::kMultiInstall); 229 product_state.AddUninstallSwitch(installer::switches::kMultiInstall);
230 if (system_level) 230 if (system_level)
231 product_state.AddUninstallSwitch(installer::switches::kSystemLevel); 231 product_state.AddUninstallSwitch(installer::switches::kSystemLevel);
232 installation_state->SetProductState(system_level, 232 installation_state->SetProductState(system_level,
233 BrowserDistribution::CHROME_BINARIES, 233 BrowserDistribution::CHROME_BINARIES,
234 product_state); 234 product_state);
235 } 235 }
236 } 236 }
237 237
238 void AddChromeToInstallationState( 238 void AddChromeToInstallationState(
239 bool system_level, 239 bool system_level,
240 bool multi_install, 240 bool multi_install,
241 MockInstallationState* installation_state) { 241 MockInstallationState* installation_state) {
242 if (multi_install) 242 if (multi_install)
243 MaybeAddBinariesToInstallationState(system_level, installation_state); 243 MaybeAddBinariesToInstallationState(system_level, installation_state);
244 MockProductState product_state; 244 MockProductState product_state;
245 product_state.set_version(new base::Version(*current_version_)); 245 product_state.set_version(new Version(*current_version_));
246 product_state.set_multi_install(multi_install); 246 product_state.set_multi_install(multi_install);
247 product_state.set_brand(L"TEST"); 247 product_state.set_brand(L"TEST");
248 product_state.set_eula_accepted(1); 248 product_state.set_eula_accepted(1);
249 BrowserDistribution* dist = 249 BrowserDistribution* dist =
250 BrowserDistribution::GetSpecificDistribution( 250 BrowserDistribution::GetSpecificDistribution(
251 BrowserDistribution::CHROME_BROWSER); 251 BrowserDistribution::CHROME_BROWSER);
252 base::FilePath install_path = 252 base::FilePath install_path =
253 installer::GetChromeInstallPath(system_level, dist); 253 installer::GetChromeInstallPath(system_level, dist);
254 product_state.SetUninstallProgram( 254 product_state.SetUninstallProgram(
255 install_path.AppendASCII(current_version_->GetString()) 255 install_path.AppendASCII(current_version_->GetString())
(...skipping 12 matching lines...) Expand all
268 product_state); 268 product_state);
269 } 269 }
270 270
271 void AddChromeFrameToInstallationState( 271 void AddChromeFrameToInstallationState(
272 bool system_level, 272 bool system_level,
273 bool multi_install, 273 bool multi_install,
274 MockInstallationState* installation_state) { 274 MockInstallationState* installation_state) {
275 if (multi_install) 275 if (multi_install)
276 MaybeAddBinariesToInstallationState(system_level, installation_state); 276 MaybeAddBinariesToInstallationState(system_level, installation_state);
277 MockProductState product_state; 277 MockProductState product_state;
278 product_state.set_version(new base::Version(*current_version_)); 278 product_state.set_version(new Version(*current_version_));
279 product_state.set_multi_install(multi_install); 279 product_state.set_multi_install(multi_install);
280 BrowserDistribution* dist = 280 BrowserDistribution* dist =
281 BrowserDistribution::GetSpecificDistribution( 281 BrowserDistribution::GetSpecificDistribution(
282 multi_install ? BrowserDistribution::CHROME_BINARIES : 282 multi_install ? BrowserDistribution::CHROME_BINARIES :
283 BrowserDistribution::CHROME_FRAME); 283 BrowserDistribution::CHROME_FRAME);
284 base::FilePath install_path = 284 base::FilePath install_path =
285 installer::GetChromeInstallPath(system_level, dist); 285 installer::GetChromeInstallPath(system_level, dist);
286 product_state.SetUninstallProgram( 286 product_state.SetUninstallProgram(
287 install_path.AppendASCII(current_version_->GetString()) 287 install_path.AppendASCII(current_version_->GetString())
288 .Append(installer::kInstallerDir) 288 .Append(installer::kInstallerDir)
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 scoped_ptr<MockInstallerState> installer_state( 429 scoped_ptr<MockInstallerState> installer_state(
430 BuildBasicInstallerState(system_install, multi_install, machine_state, 430 BuildBasicInstallerState(system_install, multi_install, machine_state,
431 operation)); 431 operation));
432 if (multi_install) 432 if (multi_install)
433 AddChromeBinariesToInstallerState(machine_state, installer_state.get()); 433 AddChromeBinariesToInstallerState(machine_state, installer_state.get());
434 AddChromeFrameToInstallerState(machine_state, installer_state.get()); 434 AddChromeFrameToInstallerState(machine_state, installer_state.get());
435 return installer_state.release(); 435 return installer_state.release();
436 } 436 }
437 437
438 protected: 438 protected:
439 scoped_ptr<base::Version> current_version_; 439 scoped_ptr<Version> current_version_;
440 scoped_ptr<base::Version> new_version_; 440 scoped_ptr<Version> new_version_;
441 base::FilePath archive_path_; 441 base::FilePath archive_path_;
442 base::FilePath installation_path_; 442 base::FilePath installation_path_;
443 base::FilePath setup_path_; 443 base::FilePath setup_path_;
444 base::FilePath src_path_; 444 base::FilePath src_path_;
445 base::FilePath temp_dir_; 445 base::FilePath temp_dir_;
446 }; 446 };
447 447
448 // Tests 448 // Tests
449 //------------------------------------------------------------------------------ 449 //------------------------------------------------------------------------------
450 450
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 TEST_F(InstallWorkerTest, GoogleUpdateWorkItemsTest) { 562 TEST_F(InstallWorkerTest, GoogleUpdateWorkItemsTest) {
563 const bool system_level = true; 563 const bool system_level = true;
564 const bool multi_install = true; 564 const bool multi_install = true;
565 MockWorkItemList work_item_list; 565 MockWorkItemList work_item_list;
566 566
567 // Per-machine single-install Chrome is installed. 567 // Per-machine single-install Chrome is installed.
568 scoped_ptr<MockInstallationState> installation_state( 568 scoped_ptr<MockInstallationState> installation_state(
569 BuildChromeInstallationState(system_level, false)); 569 BuildChromeInstallationState(system_level, false));
570 570
571 MockProductState cf_state; 571 MockProductState cf_state;
572 cf_state.set_version(new base::Version(*current_version_)); 572 cf_state.set_version(new Version(*current_version_));
573 cf_state.set_multi_install(false); 573 cf_state.set_multi_install(false);
574 574
575 // Per-machine single-install Chrome Frame is installed. 575 // Per-machine single-install Chrome Frame is installed.
576 installation_state->SetProductState(system_level, 576 installation_state->SetProductState(system_level,
577 BrowserDistribution::CHROME_FRAME, cf_state); 577 BrowserDistribution::CHROME_FRAME, cf_state);
578 578
579 // Prepare per-machine multi-install Chrome for installation. 579 // Prepare per-machine multi-install Chrome for installation.
580 scoped_ptr<MockInstallerState> installer_state( 580 scoped_ptr<MockInstallerState> installer_state(
581 BuildChromeInstallerState(system_level, multi_install, 581 BuildChromeInstallerState(system_level, multi_install,
582 *installation_state, 582 *installation_state,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 // Test that usagestats values are migrated properly. 634 // Test that usagestats values are migrated properly.
635 TEST_F(InstallWorkerTest, AddUsageStatsWorkItems) { 635 TEST_F(InstallWorkerTest, AddUsageStatsWorkItems) {
636 const bool system_level = true; 636 const bool system_level = true;
637 const bool multi_install = true; 637 const bool multi_install = true;
638 MockWorkItemList work_item_list; 638 MockWorkItemList work_item_list;
639 639
640 scoped_ptr<MockInstallationState> installation_state( 640 scoped_ptr<MockInstallationState> installation_state(
641 BuildChromeInstallationState(system_level, multi_install)); 641 BuildChromeInstallationState(system_level, multi_install));
642 642
643 MockProductState chrome_state; 643 MockProductState chrome_state;
644 chrome_state.set_version(new base::Version(*current_version_)); 644 chrome_state.set_version(new Version(*current_version_));
645 chrome_state.set_multi_install(false); 645 chrome_state.set_multi_install(false);
646 chrome_state.set_usagestats(1); 646 chrome_state.set_usagestats(1);
647 647
648 installation_state->SetProductState(system_level, 648 installation_state->SetProductState(system_level,
649 BrowserDistribution::CHROME_BROWSER, chrome_state); 649 BrowserDistribution::CHROME_BROWSER, chrome_state);
650 650
651 scoped_ptr<MockInstallerState> installer_state( 651 scoped_ptr<MockInstallerState> installer_state(
652 BuildChromeInstallerState(system_level, multi_install, 652 BuildChromeInstallerState(system_level, multi_install,
653 *installation_state, 653 *installation_state,
654 InstallerState::MULTI_INSTALL)); 654 InstallerState::MULTI_INSTALL));
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 prod_type_list[i_type_check]); 828 prod_type_list[i_type_check]);
829 bool prod_expect = (mach_after & (1 << i_type_check)) != 0; 829 bool prod_expect = (mach_after & (1 << i_type_check)) != 0;
830 EXPECT_EQ(prod_expect, prod_res); 830 EXPECT_EQ(prod_expect, prod_res);
831 } 831 }
832 } 832 }
833 } 833 }
834 } 834 }
835 } 835 }
836 836
837 #endif // defined(GOOGLE_CHROME_BUILD) 837 #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