summaryrefslogtreecommitdiffstats
path: root/chromeos/power/power_state_override_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos/power/power_state_override_unittest.cc')
-rw-r--r--chromeos/power/power_state_override_unittest.cc108
1 files changed, 0 insertions, 108 deletions
diff --git a/chromeos/power/power_state_override_unittest.cc b/chromeos/power/power_state_override_unittest.cc
deleted file mode 100644
index b925980..0000000
--- a/chromeos/power/power_state_override_unittest.cc
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chromeos/power/power_state_override.h"
-
-#include "base/basictypes.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop.h"
-#include "chromeos/dbus/mock_power_manager_client.h"
-#include "chromeos/dbus/mock_dbus_thread_manager.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using ::testing::_;
-using ::testing::Mock;
-using ::testing::SaveArg;
-
-namespace chromeos {
-
-class PowerStateOverrideTest : public testing::Test {
- protected:
- PowerStateOverrideTest() : dbus_thread_manager_shut_down_(false) {}
- virtual ~PowerStateOverrideTest() {}
-
- virtual void SetUp() {
- MockDBusThreadManager* dbus_manager = new MockDBusThreadManager;
- DBusThreadManager::InitializeForTesting(dbus_manager);
- power_manager_client_ = dbus_manager->mock_power_manager_client();
- }
-
- virtual void TearDown() {
- if (!dbus_thread_manager_shut_down_)
- DBusThreadManager::Shutdown();
- }
-
- protected:
- // Shuts down the DBusThreadManager prematurely.
- void ShutDownDBusThreadManager() {
- DBusThreadManager::Shutdown();
- dbus_thread_manager_shut_down_ = true;
- }
-
- // Needed for PowerStateOverride's timer.
- MessageLoop message_loop_;
-
- MockPowerManagerClient* power_manager_client_; // not owned
-
- // Has the singleton DBusThreadManager already been manually shut down?
- bool dbus_thread_manager_shut_down_;
-};
-
-TEST_F(PowerStateOverrideTest, AddAndRemoveOverrides) {
- // An arbitrary ID to return in response to a request with ID 0.
- const uint32 kRequestId = 10;
-
- // Override bitmaps corresponding to different modes.
- const uint32 kDisplayOverrides =
- PowerManagerClient::DISABLE_IDLE_DIM |
- PowerManagerClient::DISABLE_IDLE_BLANK |
- PowerManagerClient::DISABLE_IDLE_SUSPEND;
- const uint32 kSystemOverrides =
- PowerManagerClient::DISABLE_IDLE_SUSPEND;
-
- // Block display sleep and pass a request ID to the callback.
- chromeos::PowerStateRequestIdCallback request_id_callback;
- EXPECT_CALL(*power_manager_client_,
- RequestPowerStateOverrides(0, _, kDisplayOverrides, _))
- .WillOnce(SaveArg<3>(&request_id_callback));
- scoped_refptr<PowerStateOverride> override(
- new PowerStateOverride(PowerStateOverride::BLOCK_DISPLAY_SLEEP));
- // Make sure our PostTask to the request power state overrides runs.
- message_loop_.RunUntilIdle();
- request_id_callback.Run(kRequestId);
-
- // The request should be canceled when the PowerStateOverride is destroyed.
- EXPECT_CALL(*power_manager_client_, CancelPowerStateOverrides(kRequestId));
- override = NULL;
-
- // Now send a request to just block the system from suspending.
- EXPECT_CALL(*power_manager_client_,
- RequestPowerStateOverrides(0, _, kSystemOverrides, _))
- .WillOnce(SaveArg<3>(&request_id_callback));
- override = new PowerStateOverride(PowerStateOverride::BLOCK_SYSTEM_SUSPEND);
- // Make sure our PostTask to the request power state overrides runs.
- message_loop_.RunUntilIdle();
- request_id_callback.Run(kRequestId);
- EXPECT_CALL(*power_manager_client_, CancelPowerStateOverrides(kRequestId));
- override = NULL;
-}
-
-TEST_F(PowerStateOverrideTest, DBusThreadManagerShutDown) {
- const uint32 kRequestId = 10;
- chromeos::PowerStateRequestIdCallback request_id_callback;
- EXPECT_CALL(*power_manager_client_, RequestPowerStateOverrides(0, _, _, _))
- .WillOnce(SaveArg<3>(&request_id_callback));
- scoped_refptr<PowerStateOverride> override(
- new PowerStateOverride(PowerStateOverride::BLOCK_DISPLAY_SLEEP));
- // Make sure our PostTask to the request power state overrides runs.
- message_loop_.RunUntilIdle();
- request_id_callback.Run(kRequestId);
-
- // When the DBusThreadManager is about to be shut down, PowerStateOverride
- // should cancel its request.
- EXPECT_CALL(*power_manager_client_, CancelPowerStateOverrides(kRequestId));
- ShutDownDBusThreadManager();
-}
-
-} // namespace chromeos