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

Unified Diff: chrome/browser/chromeos/extensions/power/power_api_browsertest.cc

Issue 12576018: Add chrome.power extension API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update PermissionsTest.PermissionMessages Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/extensions/power/power_api_browsertest.cc
diff --git a/chrome/browser/chromeos/extensions/power/power_api_browsertest.cc b/chrome/browser/chromeos/extensions/power/power_api_browsertest.cc
deleted file mode 100644
index 9395d056d8e2661d64a7e4ef36b932bb86e33032..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/extensions/power/power_api_browsertest.cc
+++ /dev/null
@@ -1,161 +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 "base/memory/scoped_ptr.h"
-#include "chrome/browser/chromeos/extensions/power/power_api.h"
-#include "chrome/browser/extensions/extension_function_test_utils.h"
-#include "chrome/common/extensions/extension_test_util.h"
-#include "chrome/common/extensions/manifest.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "chromeos/dbus/mock_dbus_thread_manager.h"
-#include "chromeos/dbus/mock_power_manager_client.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using ::testing::_;
-using ::testing::Return;
-
-namespace extensions {
-
-class PowerApiTest : public InProcessBrowserTest {
- public:
- PowerApiTest() {}
- virtual ~PowerApiTest() {}
-
- virtual void SetUp() OVERRIDE {
- chromeos::MockDBusThreadManager* mock_dbus_thread_manager =
- new chromeos::MockDBusThreadManager;
-
- EXPECT_CALL(*mock_dbus_thread_manager, GetSystemBus())
- .WillRepeatedly(Return(reinterpret_cast<dbus::Bus*>(NULL)));
- chromeos::DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager);
- power_client_ = mock_dbus_thread_manager->mock_power_manager_client();
-
- InProcessBrowserTest::SetUp();
- }
-
- virtual void TearDown() OVERRIDE {
- chromeos::DBusThreadManager::Shutdown();
-
- InProcessBrowserTest::TearDown();
- }
-
- protected:
- static const int kRequestId = 5; // arbitrary
-
- scoped_refptr<Extension> CreateExtensionWithId(const std::string& id) {
- return extension_test_util::CreateExtensionWithID(
- extension_test_util::MakeId(id));
- }
-
- void RunFunctionAndExpectPass(UIThreadExtensionFunction* function,
- Extension* extension) {
- function->set_extension(extension);
- function->set_has_callback(true);
-
- scoped_ptr<base::Value> result(
- extension_function_test_utils::RunFunctionAndReturnSingleResult(
- function, "[]", browser()));
-
- ASSERT_TRUE(result.get() != NULL);
- ASSERT_EQ(base::Value::TYPE_BOOLEAN, result->GetType());
- bool boolean_value;
- result->GetAsBoolean(&boolean_value);
- EXPECT_EQ(boolean_value, true);
-
- MessageLoop::current()->RunUntilIdle();
- }
-
- // Adds an expectation that RequestPowerStateOverrides() will be called once
- // to create a new override. The callback is stored in
- // |request_id_callback_|, which should be invoked with |kRequestId|.
- void AddRequestPowerStateOverridesExpectation() {
- EXPECT_CALL(*power_client_, RequestPowerStateOverrides(0, _, _, _))
- .WillOnce(testing::SaveArg<3>(&request_id_callback_));
- }
-
- // Adds an expectation that CancelPowerStateOverrides() will be called once to
- // cancel an override previously created via
- // AddRequestPowerStateOverridesExpectation().
- void AddCancelPowerStateOverridesExpectation() {
- EXPECT_CALL(*power_client_, CancelPowerStateOverrides(kRequestId)).Times(1);
- }
-
- void RequestKeepAwake(scoped_refptr<Extension> extension) {
- scoped_refptr<PowerRequestKeepAwakeFunction> function(
- new PowerRequestKeepAwakeFunction);
- RunFunctionAndExpectPass(function.get(), extension);
- }
-
- void ReleaseKeepAwake(scoped_refptr<Extension> extension) {
- scoped_refptr<PowerReleaseKeepAwakeFunction> function(
- new PowerReleaseKeepAwakeFunction);
- RunFunctionAndExpectPass(function.get(), extension);
- }
-
- chromeos::MockPowerManagerClient* power_client_;
-
- chromeos::PowerStateRequestIdCallback request_id_callback_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(PowerApiTest);
-};
-
-IN_PROC_BROWSER_TEST_F(PowerApiTest, RequestAndRelease) {
- scoped_refptr<Extension> extension(CreateExtensionWithId("0"));
- AddRequestPowerStateOverridesExpectation();
- RequestKeepAwake(extension);
- request_id_callback_.Run(kRequestId);
-
- AddCancelPowerStateOverridesExpectation();
- ReleaseKeepAwake(extension);
-}
-
-IN_PROC_BROWSER_TEST_F(PowerApiTest, RequestMultipleAndReleaseOne) {
- scoped_refptr<Extension> extension1(CreateExtensionWithId("1"));
- scoped_refptr<Extension> extension2(CreateExtensionWithId("2"));
-
- AddRequestPowerStateOverridesExpectation();
- RequestKeepAwake(extension1);
- RequestKeepAwake(extension2);
- RequestKeepAwake(extension1);
- request_id_callback_.Run(kRequestId);
-
- AddCancelPowerStateOverridesExpectation();
- ReleaseKeepAwake(extension1);
-}
-
-IN_PROC_BROWSER_TEST_F(PowerApiTest, RequestOneAndReleaseMultiple) {
- scoped_refptr<Extension> extension(CreateExtensionWithId("3"));
-
- AddRequestPowerStateOverridesExpectation();
- RequestKeepAwake(extension);
- request_id_callback_.Run(kRequestId);
-
- AddCancelPowerStateOverridesExpectation();
- ReleaseKeepAwake(extension);
- ReleaseKeepAwake(extension);
- ReleaseKeepAwake(extension);
-}
-
-IN_PROC_BROWSER_TEST_F(PowerApiTest, RequestMultipleAndReleaseAll) {
- scoped_refptr<Extension> extension1(CreateExtensionWithId("4"));
- scoped_refptr<Extension> extension2(CreateExtensionWithId("5"));
- scoped_refptr<Extension> extension3(CreateExtensionWithId("6"));
-
- AddRequestPowerStateOverridesExpectation();
- RequestKeepAwake(extension1);
- RequestKeepAwake(extension2);
- RequestKeepAwake(extension3);
- request_id_callback_.Run(kRequestId);
-
- AddCancelPowerStateOverridesExpectation();
- ReleaseKeepAwake(extension3);
- ReleaseKeepAwake(extension1);
- ReleaseKeepAwake(extension2);
-}
-
-// TODO(rkc): Add another test to verify a Request->Release->Request scenario.
-
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698