Chromium Code Reviews| Index: chrome/installer/setup/install_unittest.cc |
| diff --git a/chrome/installer/setup/install_unittest.cc b/chrome/installer/setup/install_unittest.cc |
| index dc9f5d1c2197cc8299f19ba2e3a4c53ecdf33577..49a89beaf1170eb9c25d75f894912d5e1fe28bc0 100644 |
| --- a/chrome/installer/setup/install_unittest.cc |
| +++ b/chrome/installer/setup/install_unittest.cc |
| @@ -126,6 +126,8 @@ class InstallShortcutTest : public testing::Test { |
| user_quick_launch_shortcut_ = |
| fake_user_quick_launch_.path().Append(shortcut_name); |
| user_start_menu_shortcut_ = |
| + fake_start_menu_.path().Append(shortcut_name); |
| + user_start_menu_subdir_shortcut_ = |
| fake_start_menu_.path().Append( |
| dist_->GetStartMenuShortcutSubfolder( |
| BrowserDistribution::SUBFOLDER_CHROME)) |
| @@ -133,10 +135,7 @@ class InstallShortcutTest : public testing::Test { |
| system_desktop_shortcut_ = |
| fake_common_desktop_.path().Append(shortcut_name); |
| system_start_menu_shortcut_ = |
| - fake_common_start_menu_.path().Append( |
| - dist_->GetStartMenuShortcutSubfolder( |
| - BrowserDistribution::SUBFOLDER_CHROME)) |
| - .Append(shortcut_name); |
| + fake_common_start_menu_.path().Append(shortcut_name); |
| user_alternate_desktop_shortcut_ = |
| fake_user_desktop_.path().Append(alternate_shortcut_name); |
| } |
| @@ -147,6 +146,7 @@ class InstallShortcutTest : public testing::Test { |
| base::win::UnpinShortcutFromTaskbar(user_start_menu_shortcut_); |
| base::win::UnpinShortcutFromTaskbar(system_start_menu_shortcut_); |
| base::win::UnpinShortcutFromStart(user_start_menu_shortcut_); |
| + base::win::UnpinShortcutFromStart(user_start_menu_subdir_shortcut_); |
| base::win::UnpinShortcutFromStart(system_start_menu_shortcut_); |
| CoUninitialize(); |
| } |
| @@ -179,6 +179,8 @@ class InstallShortcutTest : public testing::Test { |
| return new installer::MasterPreferences(master_prefs); |
| } |
| + void MigrationTest(installer::InstallShortcutOperation shortcut_operation); |
| + |
| base::win::ShortcutProperties expected_properties_; |
| base::win::ShortcutProperties expected_start_menu_properties_; |
| @@ -202,6 +204,7 @@ class InstallShortcutTest : public testing::Test { |
| base::FilePath user_desktop_shortcut_; |
| base::FilePath user_quick_launch_shortcut_; |
| base::FilePath user_start_menu_shortcut_; |
| + base::FilePath user_start_menu_subdir_shortcut_; |
| base::FilePath system_desktop_shortcut_; |
| base::FilePath system_start_menu_shortcut_; |
| base::FilePath user_alternate_desktop_shortcut_; |
| @@ -377,6 +380,40 @@ TEST_F(InstallShortcutTest, ReplaceExisting) { |
| ASSERT_FALSE(base::PathExists(user_start_menu_shortcut_)); |
| } |
| +void InstallShortcutTest::MigrationTest( |
|
gab
2015/10/13 19:35:09
s/MigrationTest/MigrateAwayFromDeprecatedStartMenu
bcwhite
2015/10/15 18:29:35
Done.
|
| + installer::InstallShortcutOperation shortcut_operation) { |
| + base::win::ShortcutProperties dummy_properties; |
| + base::FilePath dummy_target; |
| + ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target)); |
| + dummy_properties.set_target(expected_properties_.target); |
| + dummy_properties.set_working_dir(fake_user_desktop_.path()); |
| + dummy_properties.set_arguments(L"--dummy --args"); |
| + dummy_properties.set_app_id(L"El.Dummiest"); |
| + |
| + ASSERT_TRUE(base::CreateDirectory( |
| + user_start_menu_subdir_shortcut_.DirName())); |
| + ASSERT_FALSE(base::PathExists(user_start_menu_subdir_shortcut_)); |
| + ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( |
| + user_start_menu_subdir_shortcut_, dummy_properties, |
| + base::win::SHORTCUT_CREATE_ALWAYS)); |
| + ASSERT_TRUE(base::PathExists(user_start_menu_subdir_shortcut_)); |
| + ASSERT_FALSE(base::PathExists(user_start_menu_shortcut_)); |
| + |
| + installer::CreateOrUpdateShortcuts( |
| + chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, |
| + shortcut_operation); |
| + ASSERT_FALSE(base::PathExists(user_start_menu_subdir_shortcut_)); |
| + ASSERT_TRUE(base::PathExists(user_start_menu_shortcut_)); |
| +} |
| + |
| +TEST_F(InstallShortcutTest, MigrateExistingDuringUpdate) { |
| + MigrationTest(installer::INSTALL_SHORTCUT_REPLACE_EXISTING); |
| +} |
| + |
| +TEST_F(InstallShortcutTest, MigrateExistingDuringInstall) { |
| + MigrationTest(installer::INSTALL_SHORTCUT_CREATE_ALL); |
| +} |
|
gab
2015/10/13 19:35:09
I still think it'd be better to TEST_P to test acr
bcwhite
2015/10/15 18:29:35
Done.
|
| + |
| TEST_F(InstallShortcutTest, CreateIfNoSystemLevelAllSystemShortcutsExist) { |
| base::win::ShortcutProperties dummy_properties; |
| base::FilePath dummy_target; |