diff options
Diffstat (limited to 'chromeos/power/power_state_override_unittest.cc')
-rw-r--r-- | chromeos/power/power_state_override_unittest.cc | 108 |
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 |