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

Side by Side Diff: chrome/browser/shell_integration_win_unittest.cc

Issue 1588733005: Reduce MigrateChromiumShortcuts to only handling taskbar pins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@a2_gab_more_metro_cleanup
Patch Set: review:grt Created 4 years, 11 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
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/browser/shell_integration.h" 5 #include "chrome/browser/shell_integration.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 261
262 // The app id of the example app for the non-default profile. 262 // The app id of the example app for the non-default profile.
263 base::string16 non_default_profile_extension_app_id_; 263 base::string16 non_default_profile_extension_app_id_;
264 264
265 private: 265 private:
266 DISALLOW_COPY_AND_ASSIGN(ShellIntegrationWinMigrateShortcutTest); 266 DISALLOW_COPY_AND_ASSIGN(ShellIntegrationWinMigrateShortcutTest);
267 }; 267 };
268 268
269 } // namespace 269 } // namespace
270 270
271 // Test migration when not clearing dual mode. 271 TEST_F(ShellIntegrationWinMigrateShortcutTest, ClearDualModeAndAdjustAppIds) {
272 TEST_F(ShellIntegrationWinMigrateShortcutTest, DontClearDualMode) {
273 if (base::win::GetVersion() < base::win::VERSION_WIN7)
274 return;
275
276 EXPECT_EQ(9,
277 ShellIntegration::MigrateShortcutsInPathInternal(
278 chrome_exe_, temp_dir_.path(), false));
279
280 // Only shortcut 1, 3, 4, 5, 6, 7, 8, 9, and 10 should have been migrated.
281 shortcuts_[1].properties.set_app_id(chrome_app_id_);
282 shortcuts_[3].properties.set_app_id(chrome_app_id_);
283 shortcuts_[4].properties.set_app_id(chrome_app_id_);
284 shortcuts_[5].properties.set_app_id(chrome_app_id_);
285 shortcuts_[6].properties.set_app_id(non_default_profile_chrome_app_id_);
286 shortcuts_[7].properties.set_app_id(non_default_user_data_dir_chrome_app_id_);
287 shortcuts_[8].properties.set_app_id(
288 non_default_user_data_dir_and_profile_chrome_app_id_);
289 shortcuts_[9].properties.set_app_id(extension_app_id_);
290 shortcuts_[10].properties.set_app_id(non_default_profile_extension_app_id_);
291
292 // Explicitly set the dual_mode expectations on all shortcuts that didn't have
293 // it to ensure ValidateShortcut verifies it. Those that had it should remain
294 // unchanged per |clear_dual_mode| being false above.
295 for (size_t i = 0; i < shortcuts_.size(); ++i) {
296 if (!(shortcuts_[i].properties.options &
297 base::win::ShortcutProperties::PROPERTIES_DUAL_MODE)) {
298 shortcuts_[i].properties.set_dual_mode(false);
299 }
300 }
301
302 for (size_t i = 0; i < shortcuts_.size(); ++i) {
303 SCOPED_TRACE(i);
304 base::win::ValidateShortcut(shortcuts_[i].path, shortcuts_[i].properties);
305 }
306
307 // Make sure shortcuts are not re-migrated.
308 EXPECT_EQ(0,
309 ShellIntegration::MigrateShortcutsInPathInternal(
310 chrome_exe_, temp_dir_.path(), false));
311 }
312
313 // Test migration when also clearing dual mode.
314 TEST_F(ShellIntegrationWinMigrateShortcutTest, ClearDualMode) {
315 if (base::win::GetVersion() < base::win::VERSION_WIN7) 272 if (base::win::GetVersion() < base::win::VERSION_WIN7)
316 return; 273 return;
317 274
318 // 9 shortcuts should have their app id updated below and shortcut 11 should 275 // 9 shortcuts should have their app id updated below and shortcut 11 should
319 // be migrated away from dual_mode for a total of 10 shortcuts migrated. 276 // be migrated away from dual_mode for a total of 10 shortcuts migrated.
320 EXPECT_EQ(10, ShellIntegration::MigrateShortcutsInPathInternal( 277 EXPECT_EQ(10, ShellIntegration::MigrateShortcutsInPathInternal(
321 chrome_exe_, temp_dir_.path(), true)); 278 chrome_exe_, temp_dir_.path()));
322 279
323 // Shortcut 1, 3, 4, 5, 6, 7, 8, 9, and 10 should have had their app_id fixed. 280 // Shortcut 1, 3, 4, 5, 6, 7, 8, 9, and 10 should have had their app_id fixed.
324 shortcuts_[1].properties.set_app_id(chrome_app_id_); 281 shortcuts_[1].properties.set_app_id(chrome_app_id_);
325 shortcuts_[3].properties.set_app_id(chrome_app_id_); 282 shortcuts_[3].properties.set_app_id(chrome_app_id_);
326 shortcuts_[4].properties.set_app_id(chrome_app_id_); 283 shortcuts_[4].properties.set_app_id(chrome_app_id_);
327 shortcuts_[5].properties.set_app_id(chrome_app_id_); 284 shortcuts_[5].properties.set_app_id(chrome_app_id_);
328 shortcuts_[6].properties.set_app_id(non_default_profile_chrome_app_id_); 285 shortcuts_[6].properties.set_app_id(non_default_profile_chrome_app_id_);
329 shortcuts_[7].properties.set_app_id(non_default_user_data_dir_chrome_app_id_); 286 shortcuts_[7].properties.set_app_id(non_default_user_data_dir_chrome_app_id_);
330 shortcuts_[8].properties.set_app_id( 287 shortcuts_[8].properties.set_app_id(
331 non_default_user_data_dir_and_profile_chrome_app_id_); 288 non_default_user_data_dir_and_profile_chrome_app_id_);
332 shortcuts_[9].properties.set_app_id(extension_app_id_); 289 shortcuts_[9].properties.set_app_id(extension_app_id_);
333 shortcuts_[10].properties.set_app_id(non_default_profile_extension_app_id_); 290 shortcuts_[10].properties.set_app_id(non_default_profile_extension_app_id_);
334 291
335 // No shortcut should still have the dual_mode property. 292 // No shortcut should still have the dual_mode property.
336 for (size_t i = 0; i < shortcuts_.size(); ++i) 293 for (size_t i = 0; i < shortcuts_.size(); ++i)
337 shortcuts_[i].properties.set_dual_mode(false); 294 shortcuts_[i].properties.set_dual_mode(false);
338 295
339 for (size_t i = 0; i < shortcuts_.size(); ++i) { 296 for (size_t i = 0; i < shortcuts_.size(); ++i) {
340 SCOPED_TRACE(i); 297 SCOPED_TRACE(i);
341 base::win::ValidateShortcut(shortcuts_[i].path, shortcuts_[i].properties); 298 base::win::ValidateShortcut(shortcuts_[i].path, shortcuts_[i].properties);
342 } 299 }
343 300
344 // Make sure shortcuts are not re-migrated. 301 // Make sure shortcuts are not re-migrated.
345 EXPECT_EQ(0, 302 EXPECT_EQ(0, ShellIntegration::MigrateShortcutsInPathInternal(
346 ShellIntegration::MigrateShortcutsInPathInternal( 303 chrome_exe_, temp_dir_.path()));
347 chrome_exe_, temp_dir_.path(), false));
348 } 304 }
349 305
350 TEST(ShellIntegrationWinTest, GetAppModelIdForProfileTest) { 306 TEST(ShellIntegrationWinTest, GetAppModelIdForProfileTest) {
351 const base::string16 base_app_id( 307 const base::string16 base_app_id(
352 BrowserDistribution::GetDistribution()->GetBaseAppId()); 308 BrowserDistribution::GetDistribution()->GetBaseAppId());
353 309
354 // Empty profile path should get chrome::kBrowserAppID 310 // Empty profile path should get chrome::kBrowserAppID
355 base::FilePath empty_path; 311 base::FilePath empty_path;
356 EXPECT_EQ(base_app_id, 312 EXPECT_EQ(base_app_id,
357 ShellIntegration::GetAppModelIdForProfile(base_app_id, empty_path)); 313 ShellIntegration::GetAppModelIdForProfile(base_app_id, empty_path));
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 default_profile_path)); 351 default_profile_path));
396 352
397 // Non-default profile path should get chrome::kBrowserAppID + AppList joined 353 // Non-default profile path should get chrome::kBrowserAppID + AppList joined
398 // with profile info. 354 // with profile info.
399 base::FilePath profile_path(FILE_PATH_LITERAL("root")); 355 base::FilePath profile_path(FILE_PATH_LITERAL("root"));
400 profile_path = profile_path.Append(FILE_PATH_LITERAL("udd")); 356 profile_path = profile_path.Append(FILE_PATH_LITERAL("udd"));
401 profile_path = profile_path.Append(FILE_PATH_LITERAL("User Data - Test")); 357 profile_path = profile_path.Append(FILE_PATH_LITERAL("User Data - Test"));
402 EXPECT_EQ(base_app_id + L".udd.UserDataTest", 358 EXPECT_EQ(base_app_id + L".udd.UserDataTest",
403 ShellIntegration::GetAppListAppModelIdForProfile(profile_path)); 359 ShellIntegration::GetAppListAppModelIdForProfile(profile_path));
404 } 360 }
OLDNEW
« no previous file with comments | « chrome/browser/shell_integration_win.cc ('k') | chrome/browser/ui/startup/startup_browser_creator_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698