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

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

Issue 432273005: Fix shortcut tests and remove legacy shortcut code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Don't check system-level Quick Launch folder on uninstall. Created 6 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 | Annotate | Revision Log
« no previous file with comments | « chrome/installer/setup/install.cc ('k') | chrome/installer/util/shell_util.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 <objbase.h> 5 #include <objbase.h>
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 expected_properties_.set_description(chrome_properties.description); 87 expected_properties_.set_description(chrome_properties.description);
88 expected_properties_.set_dual_mode(false); 88 expected_properties_.set_dual_mode(false);
89 expected_start_menu_properties_ = expected_properties_; 89 expected_start_menu_properties_ = expected_properties_;
90 expected_start_menu_properties_.set_dual_mode(true); 90 expected_start_menu_properties_.set_dual_mode(true);
91 91
92 prefs_.reset(GetFakeMasterPrefs(false, false, false)); 92 prefs_.reset(GetFakeMasterPrefs(false, false, false));
93 93
94 ASSERT_TRUE(fake_user_desktop_.CreateUniqueTempDir()); 94 ASSERT_TRUE(fake_user_desktop_.CreateUniqueTempDir());
95 ASSERT_TRUE(fake_common_desktop_.CreateUniqueTempDir()); 95 ASSERT_TRUE(fake_common_desktop_.CreateUniqueTempDir());
96 ASSERT_TRUE(fake_user_quick_launch_.CreateUniqueTempDir()); 96 ASSERT_TRUE(fake_user_quick_launch_.CreateUniqueTempDir());
97 ASSERT_TRUE(fake_default_user_quick_launch_.CreateUniqueTempDir());
98 ASSERT_TRUE(fake_start_menu_.CreateUniqueTempDir()); 97 ASSERT_TRUE(fake_start_menu_.CreateUniqueTempDir());
99 ASSERT_TRUE(fake_common_start_menu_.CreateUniqueTempDir()); 98 ASSERT_TRUE(fake_common_start_menu_.CreateUniqueTempDir());
100 user_desktop_override_.reset( 99 user_desktop_override_.reset(
101 new base::ScopedPathOverride(base::DIR_USER_DESKTOP, 100 new base::ScopedPathOverride(base::DIR_USER_DESKTOP,
102 fake_user_desktop_.path())); 101 fake_user_desktop_.path()));
103 common_desktop_override_.reset( 102 common_desktop_override_.reset(
104 new base::ScopedPathOverride(base::DIR_COMMON_DESKTOP, 103 new base::ScopedPathOverride(base::DIR_COMMON_DESKTOP,
105 fake_common_desktop_.path())); 104 fake_common_desktop_.path()));
106 user_quick_launch_override_.reset( 105 user_quick_launch_override_.reset(
107 new base::ScopedPathOverride(base::DIR_USER_QUICK_LAUNCH, 106 new base::ScopedPathOverride(base::DIR_USER_QUICK_LAUNCH,
108 fake_user_quick_launch_.path())); 107 fake_user_quick_launch_.path()));
109 default_user_quick_launch_override_.reset(
110 new base::ScopedPathOverride(base::DIR_DEFAULT_USER_QUICK_LAUNCH,
111 fake_default_user_quick_launch_.path()));
112 start_menu_override_.reset( 108 start_menu_override_.reset(
113 new base::ScopedPathOverride(base::DIR_START_MENU, 109 new base::ScopedPathOverride(base::DIR_START_MENU,
114 fake_start_menu_.path())); 110 fake_start_menu_.path()));
115 common_start_menu_override_.reset( 111 common_start_menu_override_.reset(
116 new base::ScopedPathOverride(base::DIR_COMMON_START_MENU, 112 new base::ScopedPathOverride(base::DIR_COMMON_START_MENU,
117 fake_common_start_menu_.path())); 113 fake_common_start_menu_.path()));
118 114
119 base::string16 shortcut_name( 115 base::string16 shortcut_name(
120 dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) + 116 dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME) +
121 installer::kLnkExt); 117 installer::kLnkExt);
122 base::string16 alternate_shortcut_name( 118 base::string16 alternate_shortcut_name(
123 dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME_ALTERNATE) + 119 dist_->GetShortcutName(BrowserDistribution::SHORTCUT_CHROME_ALTERNATE) +
124 installer::kLnkExt); 120 installer::kLnkExt);
125 121
126 user_desktop_shortcut_ = 122 user_desktop_shortcut_ =
127 fake_user_desktop_.path().Append(shortcut_name); 123 fake_user_desktop_.path().Append(shortcut_name);
128 user_quick_launch_shortcut_ = 124 user_quick_launch_shortcut_ =
129 fake_user_quick_launch_.path().Append(shortcut_name); 125 fake_user_quick_launch_.path().Append(shortcut_name);
130 user_start_menu_shortcut_ = 126 user_start_menu_shortcut_ =
131 fake_start_menu_.path().Append( 127 fake_start_menu_.path().Append(
132 dist_->GetStartMenuShortcutSubfolder( 128 dist_->GetStartMenuShortcutSubfolder(
133 BrowserDistribution::SUBFOLDER_CHROME)) 129 BrowserDistribution::SUBFOLDER_CHROME))
134 .Append(shortcut_name); 130 .Append(shortcut_name);
135 system_desktop_shortcut_ = 131 system_desktop_shortcut_ =
136 fake_common_desktop_.path().Append(shortcut_name); 132 fake_common_desktop_.path().Append(shortcut_name);
137 system_quick_launch_shortcut_ =
138 fake_default_user_quick_launch_.path().Append(shortcut_name);
139 system_start_menu_shortcut_ = 133 system_start_menu_shortcut_ =
140 fake_common_start_menu_.path().Append( 134 fake_common_start_menu_.path().Append(
141 dist_->GetStartMenuShortcutSubfolder( 135 dist_->GetStartMenuShortcutSubfolder(
142 BrowserDistribution::SUBFOLDER_CHROME)) 136 BrowserDistribution::SUBFOLDER_CHROME))
143 .Append(shortcut_name); 137 .Append(shortcut_name);
144 user_alternate_desktop_shortcut_ = 138 user_alternate_desktop_shortcut_ =
145 fake_user_desktop_.path().Append(alternate_shortcut_name); 139 fake_user_desktop_.path().Append(alternate_shortcut_name);
146 } 140 }
147 141
148 virtual void TearDown() OVERRIDE { 142 virtual void TearDown() OVERRIDE {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 182
189 BrowserDistribution* dist_; 183 BrowserDistribution* dist_;
190 base::FilePath chrome_exe_; 184 base::FilePath chrome_exe_;
191 scoped_ptr<installer::Product> product_; 185 scoped_ptr<installer::Product> product_;
192 scoped_ptr<installer::MasterPreferences> prefs_; 186 scoped_ptr<installer::MasterPreferences> prefs_;
193 187
194 base::ScopedTempDir temp_dir_; 188 base::ScopedTempDir temp_dir_;
195 base::ScopedTempDir fake_user_desktop_; 189 base::ScopedTempDir fake_user_desktop_;
196 base::ScopedTempDir fake_common_desktop_; 190 base::ScopedTempDir fake_common_desktop_;
197 base::ScopedTempDir fake_user_quick_launch_; 191 base::ScopedTempDir fake_user_quick_launch_;
198 base::ScopedTempDir fake_default_user_quick_launch_;
199 base::ScopedTempDir fake_start_menu_; 192 base::ScopedTempDir fake_start_menu_;
200 base::ScopedTempDir fake_common_start_menu_; 193 base::ScopedTempDir fake_common_start_menu_;
201 scoped_ptr<base::ScopedPathOverride> user_desktop_override_; 194 scoped_ptr<base::ScopedPathOverride> user_desktop_override_;
202 scoped_ptr<base::ScopedPathOverride> common_desktop_override_; 195 scoped_ptr<base::ScopedPathOverride> common_desktop_override_;
203 scoped_ptr<base::ScopedPathOverride> user_quick_launch_override_; 196 scoped_ptr<base::ScopedPathOverride> user_quick_launch_override_;
204 scoped_ptr<base::ScopedPathOverride> default_user_quick_launch_override_;
205 scoped_ptr<base::ScopedPathOverride> start_menu_override_; 197 scoped_ptr<base::ScopedPathOverride> start_menu_override_;
206 scoped_ptr<base::ScopedPathOverride> common_start_menu_override_; 198 scoped_ptr<base::ScopedPathOverride> common_start_menu_override_;
207 199
208 base::FilePath user_desktop_shortcut_; 200 base::FilePath user_desktop_shortcut_;
209 base::FilePath user_quick_launch_shortcut_; 201 base::FilePath user_quick_launch_shortcut_;
210 base::FilePath user_start_menu_shortcut_; 202 base::FilePath user_start_menu_shortcut_;
211 base::FilePath system_desktop_shortcut_; 203 base::FilePath system_desktop_shortcut_;
212 base::FilePath system_quick_launch_shortcut_;
213 base::FilePath system_start_menu_shortcut_; 204 base::FilePath system_start_menu_shortcut_;
214 base::FilePath user_alternate_desktop_shortcut_; 205 base::FilePath user_alternate_desktop_shortcut_;
215 }; 206 };
216 207
217 } // namespace 208 } // namespace
218 209
219 // Test that VisualElementsManifest.xml is not created when VisualElements are 210 // Test that VisualElementsManifest.xml is not created when VisualElements are
220 // not present. 211 // not present.
221 TEST_F(CreateVisualElementsManifestTest, VisualElementsManifestNotCreated) { 212 TEST_F(CreateVisualElementsManifestTest, VisualElementsManifestNotCreated) {
222 ASSERT_TRUE( 213 ASSERT_TRUE(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 installer::CreateOrUpdateShortcuts( 248 installer::CreateOrUpdateShortcuts(
258 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, 249 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER,
259 installer::INSTALL_SHORTCUT_CREATE_ALL); 250 installer::INSTALL_SHORTCUT_CREATE_ALL);
260 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); 251 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_);
261 base::win::ValidateShortcut(user_quick_launch_shortcut_, 252 base::win::ValidateShortcut(user_quick_launch_shortcut_,
262 expected_properties_); 253 expected_properties_);
263 base::win::ValidateShortcut(user_start_menu_shortcut_, 254 base::win::ValidateShortcut(user_start_menu_shortcut_,
264 expected_start_menu_properties_); 255 expected_start_menu_properties_);
265 } 256 }
266 257
267 // Disabled failing test; http://crbug.com/329239. 258 TEST_F(InstallShortcutTest, CreateAllShortcutsSystemLevel) {
268 TEST_F(InstallShortcutTest, DISABLED_CreateAllShortcutsSystemLevel) {
269 installer::CreateOrUpdateShortcuts( 259 installer::CreateOrUpdateShortcuts(
270 chrome_exe_, *product_, *prefs_, installer::ALL_USERS, 260 chrome_exe_, *product_, *prefs_, installer::ALL_USERS,
271 installer::INSTALL_SHORTCUT_CREATE_ALL); 261 installer::INSTALL_SHORTCUT_CREATE_ALL);
272 base::win::ValidateShortcut(system_desktop_shortcut_, expected_properties_); 262 base::win::ValidateShortcut(system_desktop_shortcut_, expected_properties_);
273 base::win::ValidateShortcut(system_quick_launch_shortcut_,
274 expected_properties_);
275 base::win::ValidateShortcut(system_start_menu_shortcut_, 263 base::win::ValidateShortcut(system_start_menu_shortcut_,
276 expected_start_menu_properties_); 264 expected_start_menu_properties_);
265 // The quick launch shortcut is always created per-user for the admin running
266 // the install (other users will get it via Active Setup).
267 base::win::ValidateShortcut(user_quick_launch_shortcut_,
268 expected_properties_);
277 } 269 }
278 270
279 TEST_F(InstallShortcutTest, CreateAllShortcutsAlternateDesktopName) { 271 TEST_F(InstallShortcutTest, CreateAllShortcutsAlternateDesktopName) {
280 scoped_ptr<installer::MasterPreferences> prefs_alt_desktop( 272 scoped_ptr<installer::MasterPreferences> prefs_alt_desktop(
281 GetFakeMasterPrefs(false, false, true)); 273 GetFakeMasterPrefs(false, false, true));
282 installer::CreateOrUpdateShortcuts( 274 installer::CreateOrUpdateShortcuts(
283 chrome_exe_, *product_, *prefs_alt_desktop, installer::CURRENT_USER, 275 chrome_exe_, *product_, *prefs_alt_desktop, installer::CURRENT_USER,
284 installer::INSTALL_SHORTCUT_CREATE_ALL); 276 installer::INSTALL_SHORTCUT_CREATE_ALL);
285 base::win::ValidateShortcut(user_alternate_desktop_shortcut_, 277 base::win::ValidateShortcut(user_alternate_desktop_shortcut_,
286 expected_properties_); 278 expected_properties_);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 361
370 TEST_F(InstallShortcutTest, CreateIfNoSystemLevelAllSystemShortcutsExist) { 362 TEST_F(InstallShortcutTest, CreateIfNoSystemLevelAllSystemShortcutsExist) {
371 base::win::ShortcutProperties dummy_properties; 363 base::win::ShortcutProperties dummy_properties;
372 base::FilePath dummy_target; 364 base::FilePath dummy_target;
373 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target)); 365 ASSERT_TRUE(base::CreateTemporaryFileInDir(temp_dir_.path(), &dummy_target));
374 dummy_properties.set_target(dummy_target); 366 dummy_properties.set_target(dummy_target);
375 367
376 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( 368 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink(
377 system_desktop_shortcut_, dummy_properties, 369 system_desktop_shortcut_, dummy_properties,
378 base::win::SHORTCUT_CREATE_ALWAYS)); 370 base::win::SHORTCUT_CREATE_ALWAYS));
379 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink(
380 system_quick_launch_shortcut_, dummy_properties,
381 base::win::SHORTCUT_CREATE_ALWAYS));
382 ASSERT_TRUE(base::CreateDirectory( 371 ASSERT_TRUE(base::CreateDirectory(
383 system_start_menu_shortcut_.DirName())); 372 system_start_menu_shortcut_.DirName()));
384 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink( 373 ASSERT_TRUE(base::win::CreateOrUpdateShortcutLink(
385 system_start_menu_shortcut_, dummy_properties, 374 system_start_menu_shortcut_, dummy_properties,
386 base::win::SHORTCUT_CREATE_ALWAYS)); 375 base::win::SHORTCUT_CREATE_ALWAYS));
387 376
388 installer::CreateOrUpdateShortcuts( 377 installer::CreateOrUpdateShortcuts(
389 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, 378 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER,
390 installer::INSTALL_SHORTCUT_CREATE_EACH_IF_NO_SYSTEM_LEVEL); 379 installer::INSTALL_SHORTCUT_CREATE_EACH_IF_NO_SYSTEM_LEVEL);
391 ASSERT_FALSE(base::PathExists(user_desktop_shortcut_)); 380 ASSERT_FALSE(base::PathExists(user_desktop_shortcut_));
392 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_));
393 ASSERT_FALSE(base::PathExists(user_start_menu_shortcut_)); 381 ASSERT_FALSE(base::PathExists(user_start_menu_shortcut_));
382 // There is no system-level quick launch shortcut, so creating the user-level
383 // one should always succeed.
384 ASSERT_TRUE(base::PathExists(user_quick_launch_shortcut_));
394 } 385 }
395 386
396 TEST_F(InstallShortcutTest, CreateIfNoSystemLevelNoSystemShortcutsExist) { 387 TEST_F(InstallShortcutTest, CreateIfNoSystemLevelNoSystemShortcutsExist) {
397 installer::CreateOrUpdateShortcuts( 388 installer::CreateOrUpdateShortcuts(
398 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER, 389 chrome_exe_, *product_, *prefs_, installer::CURRENT_USER,
399 installer::INSTALL_SHORTCUT_CREATE_EACH_IF_NO_SYSTEM_LEVEL); 390 installer::INSTALL_SHORTCUT_CREATE_EACH_IF_NO_SYSTEM_LEVEL);
400 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); 391 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_);
401 base::win::ValidateShortcut(user_quick_launch_shortcut_, 392 base::win::ValidateShortcut(user_quick_launch_shortcut_,
402 expected_properties_); 393 expected_properties_);
403 base::win::ValidateShortcut(user_start_menu_shortcut_, 394 base::win::ValidateShortcut(user_start_menu_shortcut_,
(...skipping 27 matching lines...) Expand all
431 installer::EscapeXmlAttributeValueInSingleQuotes(&val); 422 installer::EscapeXmlAttributeValueInSingleQuotes(&val);
432 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); 423 ASSERT_STREQ(kExpectedEscapedVal, val.c_str());
433 } 424 }
434 425
435 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) { 426 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) {
436 base::string16 val(L"Google Chrome"); 427 base::string16 val(L"Google Chrome");
437 static const wchar_t kExpectedEscapedVal[] = L"Google Chrome"; 428 static const wchar_t kExpectedEscapedVal[] = L"Google Chrome";
438 installer::EscapeXmlAttributeValueInSingleQuotes(&val); 429 installer::EscapeXmlAttributeValueInSingleQuotes(&val);
439 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); 430 ASSERT_STREQ(kExpectedEscapedVal, val.c_str());
440 } 431 }
OLDNEW
« no previous file with comments | « chrome/installer/setup/install.cc ('k') | chrome/installer/util/shell_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698