| Index: chromeos/dbus/ibus/ibus_client_unittest.cc
|
| diff --git a/chromeos/dbus/ibus/ibus_client_unittest.cc b/chromeos/dbus/ibus/ibus_client_unittest.cc
|
| deleted file mode 100644
|
| index ad3b16d543b2c60a610b700a45cf28e0439c3f24..0000000000000000000000000000000000000000
|
| --- a/chromeos/dbus/ibus/ibus_client_unittest.cc
|
| +++ /dev/null
|
| @@ -1,411 +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/dbus/ibus/ibus_client.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/values.h"
|
| -#include "chromeos/dbus/ibus/ibus_constants.h"
|
| -#include "dbus/message.h"
|
| -#include "dbus/mock_bus.h"
|
| -#include "dbus/mock_object_proxy.h"
|
| -#include "dbus/object_path.h"
|
| -#include "dbus/values_util.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -using testing::Invoke;
|
| -using testing::Return;
|
| -using testing::_;
|
| -
|
| -namespace chromeos {
|
| -
|
| -namespace {
|
| -const char kClientName[] = "chrome";
|
| -const char kEngineName[] = "engine";
|
| -const bool kRestartFlag = true;
|
| -} // namespace
|
| -
|
| -class MockCreateInputContextCallback {
|
| - public:
|
| - MOCK_METHOD1(Run, void(const dbus::ObjectPath& object_path));
|
| -};
|
| -
|
| -class MockErrorCallback {
|
| - public:
|
| - MOCK_METHOD0(Run, void());
|
| -};
|
| -
|
| -class IBusClientTest : public testing::Test {
|
| - public:
|
| - IBusClientTest() : response_(NULL) {}
|
| -
|
| - // Handles CreateInputContext method call.
|
| - void OnCreateInputContext(
|
| - dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback,
|
| - const dbus::ObjectProxy::ErrorCallback& error_callback) {
|
| - dbus::MessageReader reader(method_call);
|
| - std::string client_name;
|
| - EXPECT_TRUE(reader.PopString(&client_name));
|
| - EXPECT_EQ(kClientName, client_name);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| -
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
|
| - }
|
| -
|
| - // Handles fail case of CreateInputContext method call.
|
| - void OnCreateInputContextFail(
|
| - dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback,
|
| - const dbus::ObjectProxy::ErrorCallback& error_callback) {
|
| - dbus::MessageReader reader(method_call);
|
| - std::string client_name;
|
| - EXPECT_TRUE(reader.PopString(&client_name));
|
| - EXPECT_EQ(kClientName, client_name);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| -
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(error_callback,
|
| - error_response_));
|
| - }
|
| -
|
| - // Handles SetGlobalEngine method call.
|
| - void OnSetGlobalEngine(
|
| - dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback,
|
| - const dbus::ObjectProxy::ErrorCallback& error_callback) {
|
| - dbus::MessageReader reader(method_call);
|
| - std::string engine_name;
|
| - EXPECT_TRUE(reader.PopString(&engine_name));
|
| - EXPECT_EQ(kEngineName, engine_name);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
|
| - }
|
| -
|
| - // Handles fail case of SetGlobalEngine method call.
|
| - void OnSetGlobalEngineFail(
|
| - dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback,
|
| - const dbus::ObjectProxy::ErrorCallback& error_callback) {
|
| - dbus::MessageReader reader(method_call);
|
| - std::string engine_name;
|
| - EXPECT_TRUE(reader.PopString(&engine_name));
|
| - EXPECT_EQ(kEngineName, engine_name);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(error_callback,
|
| - error_response_));
|
| - }
|
| -
|
| - // Handles Exit method call.
|
| - void OnExit(dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback,
|
| - const dbus::ObjectProxy::ErrorCallback& error_callback) {
|
| - dbus::MessageReader reader(method_call);
|
| - bool restart = false;
|
| - EXPECT_TRUE(reader.PopBool(&restart));
|
| - EXPECT_EQ(kRestartFlag, restart);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(callback, response_));
|
| - }
|
| -
|
| - // Handles fail case of Exit method call.
|
| - void OnExitFail(dbus::MethodCall* method_call,
|
| - int timeout_ms,
|
| - const dbus::ObjectProxy::ResponseCallback& callback,
|
| - const dbus::ObjectProxy::ErrorCallback& error_callback) {
|
| - dbus::MessageReader reader(method_call);
|
| - bool restart = false;
|
| - EXPECT_TRUE(reader.PopBool(&restart));
|
| - EXPECT_EQ(kRestartFlag, restart);
|
| - EXPECT_FALSE(reader.HasMoreData());
|
| - message_loop_.PostTask(FROM_HERE, base::Bind(error_callback,
|
| - error_response_));
|
| - }
|
| -
|
| - protected:
|
| - virtual void SetUp() OVERRIDE {
|
| - dbus::Bus::Options options;
|
| - mock_bus_ = new dbus::MockBus(options);
|
| - mock_proxy_ = new dbus::MockObjectProxy(mock_bus_.get(),
|
| - ibus::kServiceName,
|
| - dbus::ObjectPath(
|
| - ibus::bus::kServicePath));
|
| - EXPECT_CALL(*mock_bus_.get(),
|
| - GetObjectProxy(ibus::kServiceName,
|
| - dbus::ObjectPath(ibus::bus::kServicePath)))
|
| - .WillOnce(Return(mock_proxy_.get()));
|
| -
|
| - EXPECT_CALL(*mock_bus_.get(), ShutdownAndBlock());
|
| - client_.reset(
|
| - IBusClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION, mock_bus_.get()));
|
| - }
|
| -
|
| - virtual void TearDown() OVERRIDE {
|
| - mock_bus_->ShutdownAndBlock();
|
| - }
|
| -
|
| - // The IBus client to be tested.
|
| - scoped_ptr<IBusClient> client_;
|
| -
|
| - // A message loop to emulate asynchronous behavior.
|
| - base::MessageLoop message_loop_;
|
| - scoped_refptr<dbus::MockBus> mock_bus_;
|
| - scoped_refptr<dbus::MockObjectProxy> mock_proxy_;
|
| -
|
| - // Response returned by mock methods.
|
| - dbus::Response* response_;
|
| - dbus::ErrorResponse* error_response_;
|
| -};
|
| -
|
| -TEST_F(IBusClientTest, CreateInputContextTest) {
|
| - // Set expectations.
|
| - const dbus::ObjectPath kInputContextObjectPath =
|
| - dbus::ObjectPath("/some/object/path");
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnCreateInputContext));
|
| - MockCreateInputContextCallback callback;
|
| - EXPECT_CALL(callback, Run(kInputContextObjectPath));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run()).Times(0);
|
| -
|
| - // Create response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - dbus::MessageWriter writer(response.get());
|
| - writer.AppendObjectPath(kInputContextObjectPath);
|
| - response_ = response.get();
|
| -
|
| - // Call CreateInputContext.
|
| - client_->CreateInputContext(
|
| - kClientName,
|
| - base::Bind(&MockCreateInputContextCallback::Run,
|
| - base::Unretained(&callback)),
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, CreateInputContext_NullResponseFail) {
|
| - // Set expectations.
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnCreateInputContext));
|
| - MockCreateInputContextCallback callback;
|
| - EXPECT_CALL(callback, Run(_)).Times(0);
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // Set NULL response.
|
| - response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->CreateInputContext(
|
| - kClientName,
|
| - base::Bind(&MockCreateInputContextCallback::Run,
|
| - base::Unretained(&callback)),
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, CreateInputContext_InvalidResponseFail) {
|
| - // Set expectations.
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnCreateInputContext));
|
| - MockCreateInputContextCallback callback;
|
| - EXPECT_CALL(callback, Run(_)).Times(0);
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // Create invalid(empty) response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - response_ = response.get();
|
| -
|
| - // Call CreateInputContext.
|
| - client_->CreateInputContext(
|
| - kClientName,
|
| - base::Bind(&MockCreateInputContextCallback::Run,
|
| - base::Unretained(&callback)),
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, CreateInputContext_MethodCallFail) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnCreateInputContextFail));
|
| - MockCreateInputContextCallback callback;
|
| - EXPECT_CALL(callback, Run(_)).Times(0);
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // The error response is not used in CreateInputContext.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->CreateInputContext(
|
| - kClientName,
|
| - base::Bind(&MockCreateInputContextCallback::Run,
|
| - base::Unretained(&callback)),
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, SetGlobalEngineTest) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnSetGlobalEngine));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run()).Times(0);
|
| -
|
| - // Create empty response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - response_ = response.get();
|
| -
|
| - // The error response is not used in SetGLobalEngine.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->SetGlobalEngine(
|
| - kEngineName,
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, SetGlobalEngineTest_InvalidResponse) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnSetGlobalEngineFail));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // Set invalid response.
|
| - response_ = NULL;
|
| -
|
| - // The error response is not used in SetGLobalEngine.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->SetGlobalEngine(
|
| - kEngineName,
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, SetGlobalEngineTest_MethodCallFail) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnSetGlobalEngineFail));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // Create empty response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - response_ = response.get();
|
| -
|
| - // The error response is not used in SetGLobalEngine.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->SetGlobalEngine(
|
| - kEngineName,
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, ExitTest) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnExit));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run()).Times(0);
|
| -
|
| - // Create empty response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - response_ = response.get();
|
| -
|
| - // The error response is not used in SetGLobalEngine.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->Exit(
|
| - IBusClient::RESTART_IBUS_DAEMON,
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, ExitTest_InvalidResponse) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnExit));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // Set invalid response.
|
| - response_ = NULL;
|
| -
|
| - // The error response is not used in SetGLobalEngine.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->Exit(
|
| - IBusClient::RESTART_IBUS_DAEMON,
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -TEST_F(IBusClientTest, ExitTest_MethodCallFail) {
|
| - // Set expectations
|
| - EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
|
| - .WillOnce(Invoke(this, &IBusClientTest::OnExitFail));
|
| - MockErrorCallback error_callback;
|
| - EXPECT_CALL(error_callback, Run());
|
| -
|
| - // Create empty response.
|
| - scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty());
|
| - response_ = response.get();
|
| -
|
| - // The error response is not used in SetGLobalEngine.
|
| - error_response_ = NULL;
|
| -
|
| - // Call CreateInputContext.
|
| - client_->Exit(
|
| - IBusClient::RESTART_IBUS_DAEMON,
|
| - base::Bind(&MockErrorCallback::Run,
|
| - base::Unretained(&error_callback)));
|
| -
|
| - // Run the message loop.
|
| - message_loop_.RunUntilIdle();
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|