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

Side by Side Diff: chrome/browser/background/background_mode_manager_unittest.cc

Issue 25603004: Leave apps running on Windows and Linux when quitting Chrome from the wrench menu. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 2 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/background/background_mode_manager.h" 8 #include "chrome/browser/background/background_mode_manager.h"
9 #include "chrome/browser/lifetime/application_lifetime.h" 9 #include "chrome/browser/lifetime/application_lifetime.h"
10 #include "chrome/browser/profiles/profile_info_cache.h" 10 #include "chrome/browser/profiles/profile_info_cache.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 EXPECT_TRUE(manager.IsLaunchOnStartup()); 77 EXPECT_TRUE(manager.IsLaunchOnStartup());
78 } 78 }
79 79
80 static void AssertBackgroundModeInactive( 80 static void AssertBackgroundModeInactive(
81 const TestBackgroundModeManager& manager) { 81 const TestBackgroundModeManager& manager) {
82 EXPECT_FALSE(chrome::WillKeepAlive()); 82 EXPECT_FALSE(chrome::WillKeepAlive());
83 EXPECT_FALSE(manager.HaveStatusTray()); 83 EXPECT_FALSE(manager.HaveStatusTray());
84 EXPECT_FALSE(manager.IsLaunchOnStartup()); 84 EXPECT_FALSE(manager.IsLaunchOnStartup());
85 } 85 }
86 86
87 static void AssertBackgroundModeSuspended(
88 const TestBackgroundModeManager& manager) {
89 EXPECT_FALSE(chrome::WillKeepAlive());
90 EXPECT_FALSE(manager.HaveStatusTray());
91 EXPECT_TRUE(manager.IsLaunchOnStartup());
92 }
93
87 TEST_F(BackgroundModeManagerTest, BackgroundAppLoadUnload) { 94 TEST_F(BackgroundModeManagerTest, BackgroundAppLoadUnload) {
88 TestingProfile* profile = profile_manager_.CreateTestingProfile("p1"); 95 TestingProfile* profile = profile_manager_.CreateTestingProfile("p1");
89 TestBackgroundModeManager manager( 96 TestBackgroundModeManager manager(
90 command_line_.get(), profile_manager_.profile_info_cache(), true); 97 command_line_.get(), profile_manager_.profile_info_cache(), true);
91 manager.RegisterProfile(profile); 98 manager.RegisterProfile(profile);
92 EXPECT_FALSE(chrome::WillKeepAlive()); 99 EXPECT_FALSE(chrome::WillKeepAlive());
93 100
94 // Mimic app load. 101 // Mimic app load.
95 manager.OnBackgroundAppInstalled(NULL); 102 manager.OnBackgroundAppInstalled(NULL);
96 manager.SetBackgroundAppCount(1); 103 manager.SetBackgroundAppCount(1);
97 manager.OnApplicationListChanged(profile); 104 manager.OnApplicationListChanged(profile);
98 AssertBackgroundModeActive(manager); 105 AssertBackgroundModeActive(manager);
99 106
107 manager.SuspendBackgroundMode();
108 AssertBackgroundModeSuspended(manager);
109 manager.ResumeBackgroundMode();
110
100 // Mimic app unload. 111 // Mimic app unload.
101 manager.SetBackgroundAppCount(0); 112 manager.SetBackgroundAppCount(0);
102 manager.OnApplicationListChanged(profile); 113 manager.OnApplicationListChanged(profile);
103 AssertBackgroundModeInactive(manager); 114 AssertBackgroundModeInactive(manager);
115
116 manager.SuspendBackgroundMode();
117 AssertBackgroundModeInactive(manager);
118
119 // Mimic app load while suspended.
120 manager.OnBackgroundAppInstalled(NULL);
121 manager.SetBackgroundAppCount(1);
122 manager.OnApplicationListChanged(profile);
123 AssertBackgroundModeSuspended(manager);
124
104 } 125 }
105 126
106 // App installs while background mode is disabled should do nothing. 127 // App installs while background mode is disabled should do nothing.
107 TEST_F(BackgroundModeManagerTest, BackgroundAppInstallUninstallWhileDisabled) { 128 TEST_F(BackgroundModeManagerTest, BackgroundAppInstallUninstallWhileDisabled) {
108 TestingProfile* profile = profile_manager_.CreateTestingProfile("p1"); 129 TestingProfile* profile = profile_manager_.CreateTestingProfile("p1");
109 TestBackgroundModeManager manager( 130 TestBackgroundModeManager manager(
110 command_line_.get(), profile_manager_.profile_info_cache(), true); 131 command_line_.get(), profile_manager_.profile_info_cache(), true);
111 manager.RegisterProfile(profile); 132 manager.RegisterProfile(profile);
112 // Turn off background mode. 133 // Turn off background mode.
113 manager.SetEnabled(false); 134 manager.SetEnabled(false);
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 324
304 TEST_F(BackgroundModeManagerTest, 325 TEST_F(BackgroundModeManagerTest,
305 BackgroundModeDisabledPreventsKeepAliveOnStartup) { 326 BackgroundModeDisabledPreventsKeepAliveOnStartup) {
306 TestingProfile* profile1 = profile_manager_.CreateTestingProfile("p1"); 327 TestingProfile* profile1 = profile_manager_.CreateTestingProfile("p1");
307 command_line_->AppendSwitch(switches::kKeepAliveForTest); 328 command_line_->AppendSwitch(switches::kKeepAliveForTest);
308 TestBackgroundModeManager manager( 329 TestBackgroundModeManager manager(
309 command_line_.get(), profile_manager_.profile_info_cache(), false); 330 command_line_.get(), profile_manager_.profile_info_cache(), false);
310 manager.RegisterProfile(profile1); 331 manager.RegisterProfile(profile1);
311 EXPECT_FALSE(manager.ShouldBeInBackgroundMode()); 332 EXPECT_FALSE(manager.ShouldBeInBackgroundMode());
312 } 333 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698