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

Unified Diff: chrome/installer/util/shell_util_unittest.cc

Issue 11743022: Windows: Remove desktop profile shortcuts (and any others pointing to the exe) on uninstall. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 12 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/util/shell_util.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/util/shell_util_unittest.cc
===================================================================
--- chrome/installer/util/shell_util_unittest.cc (revision 174984)
+++ chrome/installer/util/shell_util_unittest.cc (working copy)
@@ -357,7 +357,7 @@
ASSERT_TRUE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(ShellUtil::RemoveShortcut(
- ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_.value(),
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_,
ShellUtil::CURRENT_USER, NULL));
ASSERT_FALSE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(file_util::PathExists(shortcut_path.DirName()));
@@ -375,7 +375,7 @@
ASSERT_TRUE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(ShellUtil::RemoveShortcut(
- ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_.value(),
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_,
ShellUtil::SYSTEM_LEVEL, NULL));
ASSERT_FALSE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(file_util::PathExists(shortcut_path.DirName()));
@@ -394,12 +394,43 @@
ASSERT_TRUE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(ShellUtil::RemoveShortcut(
- ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_.value(),
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_,
ShellUtil::CURRENT_USER, &string16(kSpecialName)));
ASSERT_FALSE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(file_util::PathExists(shortcut_path.DirName()));
}
+TEST_F(ShellUtilShortcutTest, RemoveMultipleChromeShortcuts) {
+ const wchar_t kShortcutName1[] = L"Chrome 1";
+ const wchar_t kShortcutName2[] = L"Chrome 2";
+
+ test_properties_->set_shortcut_name(kShortcutName1);
+ ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_,
+ *test_properties_,
+ ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
+ string16 shortcut1_name(string16(kShortcutName1).append(installer::kLnkExt));
+ FilePath shortcut1_path(fake_user_desktop_.path().Append(shortcut1_name));
+ ASSERT_TRUE(file_util::PathExists(shortcut1_path));
+
+ test_properties_->set_shortcut_name(kShortcutName2);
+ test_properties_->set_arguments(L"--profile-directory=\"Profile 2\"");
+ ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_,
+ *test_properties_,
+ ShellUtil::SHELL_SHORTCUT_CREATE_ALWAYS));
+ string16 shortcut2_name(string16(kShortcutName2).append(installer::kLnkExt));
+ FilePath shortcut2_path(fake_user_desktop_.path().Append(shortcut2_name));
+ ASSERT_TRUE(file_util::PathExists(shortcut2_path));
+
+ ASSERT_TRUE(ShellUtil::RemoveShortcut(
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_,
+ ShellUtil::CURRENT_USER, NULL));
+ ASSERT_FALSE(file_util::PathExists(shortcut1_path));
+ ASSERT_FALSE(file_util::PathExists(shortcut2_path));
+ ASSERT_TRUE(file_util::PathExists(shortcut1_path.DirName()));
+}
+
TEST_F(ShellUtilShortcutTest, CreateMultipleStartMenuShortcutsAndRemoveFolder) {
ASSERT_TRUE(ShellUtil::CreateOrUpdateShortcut(
ShellUtil::SHORTCUT_LOCATION_START_MENU,
@@ -413,8 +444,8 @@
FilePath shortcut_folder(
fake_start_menu_.path().Append(dist_->GetAppShortCutName()));
- file_util::FileEnumerator file_counter (shortcut_folder, false,
- file_util::FileEnumerator::FILES);
+ file_util::FileEnumerator file_counter(shortcut_folder, false,
+ file_util::FileEnumerator::FILES);
int count = 0;
while (!file_counter.Next().empty())
++count;
@@ -422,7 +453,7 @@
ASSERT_TRUE(file_util::PathExists(shortcut_folder));
ASSERT_TRUE(ShellUtil::RemoveShortcut(
- ShellUtil::SHORTCUT_LOCATION_START_MENU, dist_, chrome_exe_.value(),
+ ShellUtil::SHORTCUT_LOCATION_START_MENU, dist_, chrome_exe_,
ShellUtil::CURRENT_USER, NULL));
ASSERT_FALSE(file_util::PathExists(shortcut_folder));
}
@@ -448,8 +479,8 @@
// |other_chrome_exe| and RemoveChromeShortcut() is being told that the
// removed shortcut should point to |chrome_exe_|.
ASSERT_TRUE(ShellUtil::RemoveShortcut(
- ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_,
- chrome_exe_.value(), ShellUtil::CURRENT_USER, NULL));
+ ShellUtil::SHORTCUT_LOCATION_DESKTOP, dist_, chrome_exe_,
+ ShellUtil::CURRENT_USER, NULL));
ASSERT_TRUE(file_util::PathExists(shortcut_path));
ASSERT_TRUE(file_util::PathExists(shortcut_path.DirName()));
}
« no previous file with comments | « chrome/installer/util/shell_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698