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 <windows.h> | 5 #include <windows.h> |
6 | 6 |
7 #include <fstream> | 7 #include <fstream> |
8 | 8 |
9 #include "base/base_paths.h" | 9 #include "base/base_paths.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 void BuildSingleChromeState(const base::FilePath& target_dir, | 76 void BuildSingleChromeState(const base::FilePath& target_dir, |
77 MockInstallerState* installer_state) { | 77 MockInstallerState* installer_state) { |
78 CommandLine cmd_line = CommandLine::FromString(L"setup.exe"); | 78 CommandLine cmd_line = CommandLine::FromString(L"setup.exe"); |
79 MasterPreferences prefs(cmd_line); | 79 MasterPreferences prefs(cmd_line); |
80 InstallationState machine_state; | 80 InstallationState machine_state; |
81 machine_state.Initialize(); | 81 machine_state.Initialize(); |
82 installer_state->Initialize(cmd_line, prefs, machine_state); | 82 installer_state->Initialize(cmd_line, prefs, machine_state); |
83 installer_state->set_target_path(target_dir); | 83 installer_state->set_target_path(target_dir); |
84 EXPECT_TRUE(installer_state->FindProduct(BrowserDistribution::CHROME_BROWSER) | 84 EXPECT_TRUE(installer_state->FindProduct(BrowserDistribution::CHROME_BROWSER) |
85 != NULL); | 85 != NULL); |
86 EXPECT_TRUE(installer_state->FindProduct(BrowserDistribution::CHROME_FRAME) | |
87 == NULL); | |
88 } | 86 } |
89 | 87 |
90 wchar_t text_content_1[] = L"delete me"; | 88 wchar_t text_content_1[] = L"delete me"; |
91 wchar_t text_content_2[] = L"delete me as well"; | 89 wchar_t text_content_2[] = L"delete me as well"; |
92 | 90 |
93 // Delete version directories. Everything lower than the given version | 91 // Delete version directories. Everything lower than the given version |
94 // should be deleted. | 92 // should be deleted. |
95 TEST_F(InstallerStateTest, Delete) { | 93 TEST_F(InstallerStateTest, Delete) { |
96 // TODO(grt): move common stuff into the test fixture. | 94 // TODO(grt): move common stuff into the test fixture. |
97 // Create a Chrome dir | 95 // Create a Chrome dir |
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 BrowserDistribution::GetSpecificDistribution( | 621 BrowserDistribution::GetSpecificDistribution( |
624 BrowserDistribution::CHROME_BINARIES)-> | 622 BrowserDistribution::CHROME_BINARIES)-> |
625 GetInstallSubDir().c_str())); | 623 GetInstallSubDir().c_str())); |
626 EXPECT_FALSE(installer_state.verbose_logging()); | 624 EXPECT_FALSE(installer_state.verbose_logging()); |
627 EXPECT_EQ(installer_state.state_key(), | 625 EXPECT_EQ(installer_state.state_key(), |
628 BrowserDistribution::GetSpecificDistribution( | 626 BrowserDistribution::GetSpecificDistribution( |
629 BrowserDistribution::CHROME_BROWSER)->GetStateKey()); | 627 BrowserDistribution::CHROME_BROWSER)->GetStateKey()); |
630 EXPECT_EQ(installer_state.state_type(), BrowserDistribution::CHROME_BROWSER); | 628 EXPECT_EQ(installer_state.state_type(), BrowserDistribution::CHROME_BROWSER); |
631 EXPECT_TRUE(installer_state.multi_package_binaries_distribution()); | 629 EXPECT_TRUE(installer_state.multi_package_binaries_distribution()); |
632 EXPECT_TRUE(installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER)); | 630 EXPECT_TRUE(installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER)); |
633 EXPECT_FALSE(installer_state.FindProduct(BrowserDistribution::CHROME_FRAME)); | |
634 | 631 |
635 // Now initialize it to install system-level single Chrome Frame. | 632 // Now initialize it to install system-level single Chrome. |
636 { | 633 { |
637 CommandLine cmd_line( | 634 CommandLine cmd_line( |
638 CommandLine::FromString(L"setup.exe --system-level --chrome-frame " | 635 CommandLine::FromString(L"setup.exe --system-level --verbose-logging")); |
639 L"--verbose-logging")); | |
640 MasterPreferences prefs(cmd_line); | 636 MasterPreferences prefs(cmd_line); |
641 installer_state.Initialize(cmd_line, prefs, machine_state); | 637 installer_state.Initialize(cmd_line, prefs, machine_state); |
642 } | 638 } |
643 | 639 |
644 // Confirm that the old state is gone. | 640 // Confirm that the old state is gone. |
645 EXPECT_EQ(InstallerState::SYSTEM_LEVEL, installer_state.level()); | 641 EXPECT_EQ(InstallerState::SYSTEM_LEVEL, installer_state.level()); |
646 EXPECT_EQ(InstallerState::SINGLE_PACKAGE, installer_state.package_type()); | 642 EXPECT_EQ(InstallerState::SINGLE_PACKAGE, installer_state.package_type()); |
647 EXPECT_EQ(InstallerState::SINGLE_INSTALL_OR_UPDATE, | 643 EXPECT_EQ(InstallerState::SINGLE_INSTALL_OR_UPDATE, |
648 installer_state.operation()); | 644 installer_state.operation()); |
649 EXPECT_TRUE(wcsstr(installer_state.target_path().value().c_str(), | 645 EXPECT_TRUE(wcsstr(installer_state.target_path().value().c_str(), |
650 BrowserDistribution::GetSpecificDistribution( | 646 BrowserDistribution::GetSpecificDistribution( |
651 BrowserDistribution::CHROME_FRAME)-> | 647 BrowserDistribution::CHROME_BROWSER)-> |
652 GetInstallSubDir().c_str())); | 648 GetInstallSubDir().c_str())); |
653 EXPECT_TRUE(installer_state.verbose_logging()); | 649 EXPECT_TRUE(installer_state.verbose_logging()); |
654 // state_key and type are wrong in unittests since it is set based on the | 650 EXPECT_EQ(installer_state.state_key(), |
655 // current process's BrowserDistribution. | 651 BrowserDistribution::GetSpecificDistribution( |
656 // EXPECT_EQ(installer_state.state_key(), | 652 BrowserDistribution::CHROME_BROWSER)->GetStateKey()); |
657 // BrowserDistribution::GetSpecificDistribution( | 653 EXPECT_EQ(installer_state.state_type(), BrowserDistribution::CHROME_BROWSER); |
658 // BrowserDistribution::CHROME_FRAME)->GetStateKey()); | 654 EXPECT_TRUE(installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER)); |
659 // EXPECT_EQ(installer_state.state_type(), BrowserDistribution::CHROME_FRAME); | |
660 EXPECT_FALSE( | |
661 installer_state.FindProduct(BrowserDistribution::CHROME_BROWSER)); | |
662 EXPECT_TRUE(installer_state.FindProduct(BrowserDistribution::CHROME_FRAME)); | |
663 } | 655 } |
664 | 656 |
665 // A fixture for testing InstallerState::DetermineCriticalVersion. Individual | 657 // A fixture for testing InstallerState::DetermineCriticalVersion. Individual |
666 // tests must invoke Initialize() with a critical version. | 658 // tests must invoke Initialize() with a critical version. |
667 class InstallerStateCriticalVersionTest : public ::testing::Test { | 659 class InstallerStateCriticalVersionTest : public ::testing::Test { |
668 protected: | 660 protected: |
669 InstallerStateCriticalVersionTest() : cmd_line_(CommandLine::NO_PROGRAM) {} | 661 InstallerStateCriticalVersionTest() : cmd_line_(CommandLine::NO_PROGRAM) {} |
670 | 662 |
671 // Creates a set of versions for use by all test runs. | 663 // Creates a set of versions for use by all test runs. |
672 static void SetUpTestCase() { | 664 static void SetUpTestCase() { |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
807 // Critical update newer than the new version. | 799 // Critical update newer than the new version. |
808 EXPECT_FALSE( | 800 EXPECT_FALSE( |
809 installer_state.DetermineCriticalVersion(NULL, *pv_version_).IsValid()); | 801 installer_state.DetermineCriticalVersion(NULL, *pv_version_).IsValid()); |
810 EXPECT_FALSE( | 802 EXPECT_FALSE( |
811 installer_state.DetermineCriticalVersion(opv_version_, *pv_version_) | 803 installer_state.DetermineCriticalVersion(opv_version_, *pv_version_) |
812 .IsValid()); | 804 .IsValid()); |
813 EXPECT_FALSE( | 805 EXPECT_FALSE( |
814 installer_state.DetermineCriticalVersion(pv_version_, *pv_version_) | 806 installer_state.DetermineCriticalVersion(pv_version_, *pv_version_) |
815 .IsValid()); | 807 .IsValid()); |
816 } | 808 } |
OLD | NEW |