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

Unified Diff: chromeos/dbus/ibus/ibus_engine_service_unittest.cc

Issue 23766008: Delete IBusEngineServiceImpl which is no longer used for production. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 4 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
« no previous file with comments | « chromeos/dbus/ibus/ibus_engine_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/ibus/ibus_engine_service_unittest.cc
diff --git a/chromeos/dbus/ibus/ibus_engine_service_unittest.cc b/chromeos/dbus/ibus/ibus_engine_service_unittest.cc
deleted file mode 100644
index f1a0077fc3ee30d47363080ac1ef6971afc1756b..0000000000000000000000000000000000000000
--- a/chromeos/dbus/ibus/ibus_engine_service_unittest.cc
+++ /dev/null
@@ -1,1126 +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_engine_service.h"
-
-#include <map>
-#include "base/bind.h"
-#include "base/message_loop/message_loop.h"
-#include "base/values.h"
-#include "chromeos/dbus/ibus/ibus_constants.h"
-#include "chromeos/dbus/ibus/ibus_lookup_table.h"
-#include "chromeos/dbus/ibus/ibus_property.h"
-#include "chromeos/dbus/ibus/ibus_text.h"
-#include "chromeos/ime/ibus_bridge.h"
-#include "dbus/message.h"
-#include "dbus/mock_bus.h"
-#include "dbus/mock_exported_object.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 std::string kObjectPath = "/org/freedesktop/IBus/Engine/1";
-
-class MockIBusEngineHandler : public IBusEngineHandlerInterface {
- public:
- MOCK_METHOD0(FocusIn, void());
- MOCK_METHOD0(FocusOut, void());
- MOCK_METHOD0(Enable, void());
- MOCK_METHOD0(Disable, void());
- MOCK_METHOD2(PropertyActivate, void(const std::string& property_name,
- ibus::IBusPropertyState property_state));
- MOCK_METHOD1(PropertyShow, void(const std::string& property_name));
- MOCK_METHOD1(PropertyHide, void(const std::string& property_name));
- MOCK_METHOD1(SetCapability, void(IBusCapability capability));
- MOCK_METHOD0(Reset, void());
- MOCK_METHOD4(ProcessKeyEvent, void(
- uint32 keysym,
- uint32 keycode,
- uint32 state,
- const KeyEventDoneCallback& callback));
- MOCK_METHOD3(CandidateClicked, void(uint32 index,
- ibus::IBusMouseButton button,
- uint32 state));
- MOCK_METHOD3(SetSurroundingText, void(const std::string& text,
- uint32 cursor_pos,
- uint32 anchor_pos));
-};
-
-class MockResponseSender {
- public:
- // GMock doesn't support mocking methods which take scoped_ptr<>.
- MOCK_METHOD1(MockRun, void(dbus::Response* reponse));
- void Run(scoped_ptr<dbus::Response> response) {
- MockRun(response.get());
- }
-};
-
-// Used for method call empty response evaluation.
-class EmptyResponseExpectation {
- public:
- explicit EmptyResponseExpectation(const uint32 serial_no)
- : serial_no_(serial_no) {}
-
- // Evaluates the given |response| has no argument.
- void Evaluate(dbus::Response* response) {
- EXPECT_EQ(serial_no_, response->GetReplySerial());
- dbus::MessageReader reader(response);
- EXPECT_FALSE(reader.HasMoreData());
- }
-
- private:
- const uint32 serial_no_;
-
- DISALLOW_COPY_AND_ASSIGN(EmptyResponseExpectation);
-};
-
-// Used for method call a boolean response evaluation.
-class BoolResponseExpectation {
- public:
- explicit BoolResponseExpectation(uint32 serial_no, bool result)
- : serial_no_(serial_no),
- result_(result) {}
-
- // Evaluates the given |response| has only one boolean and which is equals to
- // |result_| which is given in ctor.
- void Evaluate(dbus::Response* response) {
- EXPECT_EQ(serial_no_, response->GetReplySerial());
- dbus::MessageReader reader(response);
- bool result = false;
- EXPECT_TRUE(reader.PopBool(&result));
- EXPECT_EQ(result_, result);
- EXPECT_FALSE(reader.HasMoreData());
- }
-
- private:
- uint32 serial_no_;
- bool result_;
-
- DISALLOW_COPY_AND_ASSIGN(BoolResponseExpectation);
-};
-
-// Used for RegisterProperties signal message evaluation.
-class RegisterPropertiesExpectation {
- public:
- explicit RegisterPropertiesExpectation(
- const IBusPropertyList& property_list)
- : property_list_(property_list) {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- IBusPropertyList property_list;
-
- // Read a signal argument.
- dbus::MessageReader reader(signal);
- EXPECT_TRUE(PopIBusPropertyList(&reader, &property_list));
- EXPECT_FALSE(reader.HasMoreData());
-
- // Check an argument.
- EXPECT_EQ(property_list_.size(), property_list.size());
- for (size_t i = 0; i < property_list_.size(); ++i) {
- EXPECT_EQ(property_list_[i]->key(), property_list[i]->key());
- EXPECT_EQ(property_list_[i]->type(), property_list[i]->type());
- EXPECT_EQ(property_list_[i]->label(), property_list[i]->label());
- EXPECT_EQ(property_list_[i]->tooltip(), property_list[i]->tooltip());
- EXPECT_EQ(property_list_[i]->visible(), property_list[i]->visible());
- EXPECT_EQ(property_list_[i]->checked(), property_list[i]->checked());
- }
- }
-
- private:
- const IBusPropertyList& property_list_;
-
- DISALLOW_COPY_AND_ASSIGN(RegisterPropertiesExpectation);
-};
-
-// Used for mocking ProcessKeyEventHandler.
-class ProcessKeyEventHandler {
- public:
- explicit ProcessKeyEventHandler(bool expected_value)
- : expected_value_(expected_value) {
- }
-
- void ProcessKeyEvent(
- uint32 keysym,
- uint32 keycode,
- uint32 state,
- const IBusEngineHandlerInterface::KeyEventDoneCallback& callback) {
- callback.Run(expected_value_);
- }
-
- private:
- bool expected_value_;
-
- DISALLOW_COPY_AND_ASSIGN(ProcessKeyEventHandler);
-};
-
-// Used for mocking asynchronous ProcessKeyEventHandler.
-class DelayProcessKeyEventHandler {
- public:
- DelayProcessKeyEventHandler(bool expected_value,
- base::MessageLoop* message_loop)
- : expected_value_(expected_value),
- message_loop_(message_loop) {
- }
-
- void ProcessKeyEvent(
- uint32 keysym,
- uint32 keycode,
- uint32 state,
- const IBusEngineHandlerInterface::KeyEventDoneCallback& callback) {
- message_loop_->PostTask(FROM_HERE, base::Bind(callback, expected_value_));
- }
-
- private:
- bool expected_value_;
- base::MessageLoop* message_loop_;
-
- DISALLOW_COPY_AND_ASSIGN(DelayProcessKeyEventHandler);
-};
-
-// Used for UpdatePreedit signal message evaluation.
-class UpdatePreeditExpectation {
- public:
- UpdatePreeditExpectation(
- const IBusText& ibus_text,
- uint32 cursor_pos,
- bool is_visible,
- IBusEngineService::IBusEnginePreeditFocusOutMode mode)
- : ibus_text_(ibus_text),
- cursor_pos_(cursor_pos),
- is_visible_(is_visible),
- mode_(mode) {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- IBusText ibus_text;
- uint32 cursor_pos = 0;
- bool is_visible = false;
- uint32 preedit_mode = 0;
-
- // Read signal arguments.
- dbus::MessageReader reader(signal);
- EXPECT_TRUE(PopIBusText(&reader, &ibus_text));
- EXPECT_TRUE(reader.PopUint32(&cursor_pos));
- EXPECT_TRUE(reader.PopBool(&is_visible));
- EXPECT_TRUE(reader.PopUint32(&preedit_mode));
- EXPECT_FALSE(reader.HasMoreData());
-
- // Check arguments.
- EXPECT_EQ(ibus_text_.text(), ibus_text.text());
- EXPECT_EQ(cursor_pos_, cursor_pos);
- EXPECT_EQ(is_visible_, is_visible);
- EXPECT_EQ(mode_,
- static_cast<IBusEngineService::IBusEnginePreeditFocusOutMode>(
- preedit_mode));
- }
-
- private:
- const IBusText& ibus_text_;
- uint32 cursor_pos_;
- bool is_visible_;
- IBusEngineService::IBusEnginePreeditFocusOutMode mode_;
-
- DISALLOW_COPY_AND_ASSIGN(UpdatePreeditExpectation);
-};
-
-// Used for UpdateAuxiliaryText signal message evaluation.
-class UpdateAuxiliaryTextExpectation {
- public:
- UpdateAuxiliaryTextExpectation(const IBusText& ibus_text,
- bool is_visible)
- : ibus_text_(ibus_text), is_visible_(is_visible) {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- IBusText ibus_text;
- bool is_visible = false;
-
- // Read signal arguments.
- dbus::MessageReader reader(signal);
- EXPECT_TRUE(PopIBusText(&reader, &ibus_text));
- EXPECT_TRUE(reader.PopBool(&is_visible));
- EXPECT_FALSE(reader.HasMoreData());
-
- // Check arguments.
- EXPECT_EQ(ibus_text_.text(), ibus_text.text());
- EXPECT_EQ(is_visible_, is_visible);
- }
-
- private:
- const IBusText& ibus_text_;
- bool is_visible_;
-
- DISALLOW_COPY_AND_ASSIGN(UpdateAuxiliaryTextExpectation);
-};
-
-// Used for UpdateLookupTable signal message evaluation.
-class UpdateLookupTableExpectation {
- public:
- UpdateLookupTableExpectation(const IBusLookupTable& lookup_table,
- bool is_visible)
- : lookup_table_(lookup_table), is_visible_(is_visible) {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- IBusLookupTable lookup_table;
- bool is_visible = false;
-
- // Read signal arguments.
- dbus::MessageReader reader(signal);
- EXPECT_TRUE(PopIBusLookupTable(&reader, &lookup_table));
- EXPECT_TRUE(reader.PopBool(&is_visible));
- EXPECT_FALSE(reader.HasMoreData());
-
- // Check arguments.
- EXPECT_EQ(lookup_table_.page_size(), lookup_table.page_size());
- EXPECT_EQ(lookup_table_.cursor_position(), lookup_table.cursor_position());
- EXPECT_EQ(lookup_table_.is_cursor_visible(),
- lookup_table.is_cursor_visible());
- EXPECT_EQ(is_visible_, is_visible);
- }
-
- private:
- const IBusLookupTable& lookup_table_;
- bool is_visible_;
-
- DISALLOW_COPY_AND_ASSIGN(UpdateLookupTableExpectation);
-};
-
-// Used for UpdateProperty signal message evaluation.
-class UpdatePropertyExpectation {
- public:
- explicit UpdatePropertyExpectation(const IBusProperty& property)
- : property_(property) {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- IBusProperty property;
-
- // Read a signal argument.
- dbus::MessageReader reader(signal);
- EXPECT_TRUE(PopIBusProperty(&reader, &property));
- EXPECT_FALSE(reader.HasMoreData());
-
- // Check the argument.
- EXPECT_EQ(property_.key(), property.key());
- EXPECT_EQ(property_.type(), property.type());
- EXPECT_EQ(property_.label(), property.label());
- EXPECT_EQ(property_.tooltip(), property.tooltip());
- EXPECT_EQ(property_.visible(), property.visible());
- EXPECT_EQ(property_.checked(), property.checked());
- }
-
- private:
- const IBusProperty& property_;
-
- DISALLOW_COPY_AND_ASSIGN(UpdatePropertyExpectation);
-};
-
-// Used for ForwardKeyEvent signal message evaluation.
-class ForwardKeyEventExpectation {
- public:
- ForwardKeyEventExpectation(uint32 keyval, uint32 keycode, uint32 state)
- : keyval_(keyval),
- keycode_(keycode),
- state_(state) {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- uint32 keyval = 0;
- uint32 keycode = 0;
- uint32 state = 0;
-
- // Read signal arguments.
- dbus::MessageReader reader(signal);
- EXPECT_TRUE(reader.PopUint32(&keyval));
- EXPECT_TRUE(reader.PopUint32(&keycode));
- EXPECT_TRUE(reader.PopUint32(&state));
- EXPECT_FALSE(reader.HasMoreData());
-
- // Check arguments.
- EXPECT_EQ(keyval_, keyval);
- EXPECT_EQ(keycode_, keycode);
- EXPECT_EQ(state_, state);
- }
-
- private:
- uint32 keyval_;
- uint32 keycode_;
- uint32 state_;
-
- DISALLOW_COPY_AND_ASSIGN(ForwardKeyEventExpectation);
-};
-
-// Used for RequireSurroundingText signal message evaluation.
-class RequireSurroundingTextExpectation {
- public:
- RequireSurroundingTextExpectation() {}
-
- // Evaluates the given |signal| is a valid message.
- void Evaluate(dbus::Signal* signal) {
- dbus::MessageReader reader(signal);
- EXPECT_FALSE(reader.HasMoreData());
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(RequireSurroundingTextExpectation);
-};
-
-} // namespace
-
-class IBusEngineServiceTest : public testing::Test {
- public:
- IBusEngineServiceTest() {}
-
- virtual void SetUp() OVERRIDE {
- // Create a mock bus.
- dbus::Bus::Options options;
- options.bus_type = dbus::Bus::SYSTEM;
- mock_bus_ = new dbus::MockBus(options);
-
- // Create a mock exported object.
- mock_exported_object_ = new dbus::MockExportedObject(
- mock_bus_.get(),
- dbus::ObjectPath(kObjectPath));
-
- EXPECT_CALL(*mock_bus_.get(),
- GetExportedObject(dbus::ObjectPath(kObjectPath)))
- .WillOnce(Return(mock_exported_object_.get()));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kFocusInMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kFocusOutMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(
- *mock_exported_object_.get(),
- ExportMethod(
- ibus::engine::kServiceInterface, ibus::engine::kEnableMethod, _, _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kDisableMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kPropertyActivateMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kPropertyShowMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kPropertyHideMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kSetCapabilityMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(
- *mock_exported_object_.get(),
- ExportMethod(
- ibus::engine::kServiceInterface, ibus::engine::kResetMethod, _, _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kProcessKeyEventMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kCandidateClickedMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- EXPECT_CALL(*mock_exported_object_.get(),
- ExportMethod(ibus::engine::kServiceInterface,
- ibus::engine::kSetSurroundingTextMethod,
- _,
- _))
- .WillRepeatedly(Invoke(this, &IBusEngineServiceTest::OnMethodExported));
-
- // Suppress uninteresting mock function call warning.
- EXPECT_CALL(*mock_bus_.get(),
- AssertOnOriginThread())
- .WillRepeatedly(Return());
-
- // Create a service
- service_.reset(IBusEngineService::Create(
- REAL_DBUS_CLIENT_IMPLEMENTATION,
- mock_bus_.get(),
- dbus::ObjectPath(kObjectPath)));
-
- // Set engine handler.
- engine_handler_.reset(new MockIBusEngineHandler());
- service_->SetEngine(engine_handler_.get());
- }
-
- protected:
- // The service to be tested.
- scoped_ptr<IBusEngineService> service_;
- // The mock engine handler. Do not free, this is owned by IBusEngineService.
- scoped_ptr<MockIBusEngineHandler> engine_handler_;
- // The mock bus.
- scoped_refptr<dbus::MockBus> mock_bus_;
- // The mock exported object.
- scoped_refptr<dbus::MockExportedObject> mock_exported_object_;
- // A message loop to emulate asynchronous behavior.
- base::MessageLoop message_loop_;
- // The map from method call to method call handler.
- std::map<std::string, dbus::ExportedObject::MethodCallCallback>
- method_callback_map_;
-
- private:
- // Used to implement the mock method call.
- void OnMethodExported(
- const std::string& interface_name,
- const std::string& method_name,
- const dbus::ExportedObject::MethodCallCallback& method_callback,
- const dbus::ExportedObject::OnExportedCallback& on_exported_callback) {
- method_callback_map_[method_name] = method_callback;
- const bool success = true;
- message_loop_.PostTask(FROM_HERE, base::Bind(on_exported_callback,
- interface_name,
- method_name,
- success));
- }
-};
-
-TEST_F(IBusEngineServiceTest, FocusInTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- EXPECT_CALL(*engine_handler_, FocusIn());
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kFocusInMethod);
- method_call.SetSerial(kSerialNo);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kFocusInMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kFocusInMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, FocusIn()).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kFocusInMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, FocusOutTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- EXPECT_CALL(*engine_handler_, FocusOut());
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kFocusOutMethod);
- method_call.SetSerial(kSerialNo);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kFocusOutMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kFocusOutMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, FocusOut()).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kFocusOutMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, EnableTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- EXPECT_CALL(*engine_handler_, Enable());
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kEnableMethod);
- method_call.SetSerial(kSerialNo);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kEnableMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kEnableMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, Enable()).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kEnableMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, DisableTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- EXPECT_CALL(*engine_handler_, Disable());
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kDisableMethod);
- method_call.SetSerial(kSerialNo);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kDisableMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kDisableMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, Disable()).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kDisableMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, PropertyActivateTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const std::string kPropertyName = "Property Name";
- const ibus::IBusPropertyState kIBusPropertyState =
- ibus::IBUS_PROPERTY_STATE_UNCHECKED;
- EXPECT_CALL(*engine_handler_, PropertyActivate(kPropertyName,
- kIBusPropertyState));
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kPropertyActivateMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendString(kPropertyName);
- writer.AppendUint32(static_cast<uint32>(kIBusPropertyState));
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kPropertyActivateMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kPropertyActivateMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, PropertyActivate(kPropertyName,
- kIBusPropertyState)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kPropertyActivateMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, ResetTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- EXPECT_CALL(*engine_handler_, Reset());
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kResetMethod);
- method_call.SetSerial(kSerialNo);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kResetMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kResetMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, Reset()).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kResetMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, PropertyShowTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const std::string kPropertyName = "Property Name";
- EXPECT_CALL(*engine_handler_, PropertyShow(kPropertyName));
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kPropertyShowMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendString(kPropertyName);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kPropertyShowMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kPropertyShowMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, PropertyShow(kPropertyName)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kPropertyShowMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, PropertyHideTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const std::string kPropertyName = "Property Name";
- EXPECT_CALL(*engine_handler_, PropertyHide(kPropertyName));
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kPropertyHideMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendString(kPropertyName);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kPropertyHideMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kPropertyHideMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, PropertyHide(kPropertyName)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kPropertyHideMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, SetCapabilityTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const IBusEngineHandlerInterface::IBusCapability kIBusCapability =
- IBusEngineHandlerInterface::IBUS_CAPABILITY_PREEDIT_TEXT;
- EXPECT_CALL(*engine_handler_, SetCapability(kIBusCapability));
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kSetCapabilityMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendUint32(static_cast<uint32>(kIBusCapability));
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kSetCapabilityMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kSetCapabilityMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, SetCapability(kIBusCapability)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kSetCapabilityMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, ProcessKeyEventTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const uint32 kKeySym = 0x64;
- const uint32 kKeyCode = 0x20;
- const uint32 kState = 0x00;
- const bool kResult = true;
-
- ProcessKeyEventHandler handler(kResult);
- EXPECT_CALL(*engine_handler_, ProcessKeyEvent(kKeySym, kKeyCode, kState, _))
- .WillOnce(Invoke(&handler,
- &ProcessKeyEventHandler::ProcessKeyEvent));
- MockResponseSender response_sender;
- BoolResponseExpectation response_expectation(kSerialNo, kResult);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &BoolResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kProcessKeyEventMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendUint32(kKeySym);
- writer.AppendUint32(kKeyCode);
- writer.AppendUint32(kState);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kProcessKeyEventMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kProcessKeyEventMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_,
- ProcessKeyEvent(kKeySym, kKeyCode, kState, _)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kProcessKeyEventMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, DelayProcessKeyEventTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const uint32 kKeySym = 0x64;
- const uint32 kKeyCode = 0x20;
- const uint32 kState = 0x00;
- const bool kResult = true;
-
- DelayProcessKeyEventHandler handler(kResult, &message_loop_);
- EXPECT_CALL(*engine_handler_, ProcessKeyEvent(kKeySym, kKeyCode, kState, _))
- .WillOnce(Invoke(&handler,
- &DelayProcessKeyEventHandler::ProcessKeyEvent));
- MockResponseSender response_sender;
- BoolResponseExpectation response_expectation(kSerialNo, kResult);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &BoolResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kProcessKeyEventMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendUint32(kKeySym);
- writer.AppendUint32(kKeyCode);
- writer.AppendUint32(kState);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kProcessKeyEventMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kProcessKeyEventMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call KeyEventDone callback.
- message_loop_.RunUntilIdle();
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_,
- ProcessKeyEvent(kKeySym, kKeyCode, kState, _)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kProcessKeyEventMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, CandidateClickedTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const uint32 kIndex = 4;
- const ibus::IBusMouseButton kIBusMouseButton = ibus::IBUS_MOUSE_BUTTON_MIDDLE;
- const uint32 kState = 3;
- EXPECT_CALL(*engine_handler_, CandidateClicked(kIndex, kIBusMouseButton,
- kState));
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kCandidateClickedMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- writer.AppendUint32(kIndex);
- writer.AppendUint32(static_cast<uint32>(kIBusMouseButton));
- writer.AppendUint32(kState);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kCandidateClickedMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kCandidateClickedMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, CandidateClicked(kIndex, kIBusMouseButton,
- kState)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kCandidateClickedMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, SetSurroundingTextTest) {
- // Set expectations.
- const uint32 kSerialNo = 1;
- const std::string kText = "Sample Text";
- const uint32 kCursorPos = 3;
- const uint32 kAnchorPos = 4;
- EXPECT_CALL(*engine_handler_, SetSurroundingText(kText, kCursorPos,
- kAnchorPos));
- MockResponseSender response_sender;
- EmptyResponseExpectation response_expectation(kSerialNo);
- EXPECT_CALL(response_sender, MockRun(_))
- .WillOnce(Invoke(&response_expectation,
- &EmptyResponseExpectation::Evaluate));
-
- // Create method call;
- dbus::MethodCall method_call(ibus::engine::kServiceInterface,
- ibus::engine::kSetSurroundingTextMethod);
- method_call.SetSerial(kSerialNo);
- dbus::MessageWriter writer(&method_call);
- AppendStringAsIBusText(kText, &writer);
- writer.AppendUint32(kCursorPos);
- writer.AppendUint32(kAnchorPos);
-
- // Call exported function.
- EXPECT_NE(method_callback_map_.find(ibus::engine::kSetSurroundingTextMethod),
- method_callback_map_.end());
- method_callback_map_[ibus::engine::kSetSurroundingTextMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-
- // Call exported function without engine.
- service_->UnsetEngine(engine_handler_.get());
- EXPECT_CALL(*engine_handler_, SetSurroundingText(kText, kCursorPos,
- kAnchorPos)).Times(0);
- EXPECT_CALL(response_sender, MockRun(_)).Times(0);
- method_callback_map_[ibus::engine::kSetSurroundingTextMethod].Run(
- &method_call,
- base::Bind(&MockResponseSender::Run,
- base::Unretained(&response_sender)));
-}
-
-TEST_F(IBusEngineServiceTest, RegisterProperties) {
- // Set expectations.
- IBusPropertyList property_list;
- property_list.push_back(new IBusProperty());
- property_list[0]->set_key("Sample Key");
- property_list[0]->set_type(IBusProperty::IBUS_PROPERTY_TYPE_MENU);
- property_list[0]->set_label("Sample Label");
- property_list[0]->set_tooltip("Sample Tooltip");
- property_list[0]->set_visible(true);
- property_list[0]->set_checked(true);
-
- RegisterPropertiesExpectation expectation(property_list);
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_))
- .WillOnce(Invoke(&expectation, &RegisterPropertiesExpectation::Evaluate));
- // Emit signal.
- service_->RegisterProperties(property_list);
-}
-
-TEST_F(IBusEngineServiceTest, UpdatePreeditTest) {
- // Set expectations.
- IBusText ibus_text;
- ibus_text.set_text("Sample Text");
- const uint32 kCursorPos = 9;
- const bool kIsVisible = false;
- const IBusEngineService::IBusEnginePreeditFocusOutMode kPreeditMode =
- IBusEngineService::IBUS_ENGINE_PREEEDIT_FOCUS_OUT_MODE_CLEAR;
- UpdatePreeditExpectation expectation(ibus_text, kCursorPos, kIsVisible,
- kPreeditMode);
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_))
- .WillOnce(Invoke(&expectation, &UpdatePreeditExpectation::Evaluate));
-
- // Emit signal.
- service_->UpdatePreedit(ibus_text, kCursorPos, kIsVisible, kPreeditMode);
-}
-
-TEST_F(IBusEngineServiceTest, UpdateAuxiliaryText) {
- IBusText ibus_text;
- ibus_text.set_text("Sample Text");
- const bool kIsVisible = false;
- UpdateAuxiliaryTextExpectation expectation(ibus_text, kIsVisible);
-
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_)).WillOnce(
- Invoke(&expectation, &UpdateAuxiliaryTextExpectation::Evaluate));
-
- // Emit signal.
- service_->UpdateAuxiliaryText(ibus_text, kIsVisible);
-}
-
-TEST_F(IBusEngineServiceTest, UpdateLookupTableTest) {
- IBusLookupTable lookup_table;
- lookup_table.set_page_size(10);
- lookup_table.set_cursor_position(2);
- lookup_table.set_is_cursor_visible(false);
- const bool kIsVisible = true;
-
- UpdateLookupTableExpectation expectation(lookup_table, kIsVisible);
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_))
- .WillOnce(Invoke(&expectation, &UpdateLookupTableExpectation::Evaluate));
-
- // Emit signal.
- service_->UpdateLookupTable(lookup_table, kIsVisible);
-}
-
-TEST_F(IBusEngineServiceTest, UpdatePropertyTest) {
- IBusProperty property;
- property.set_key("Sample Key");
- property.set_type(IBusProperty::IBUS_PROPERTY_TYPE_MENU);
- property.set_label("Sample Label");
- property.set_tooltip("Sample Tooltip");
- property.set_visible(true);
- property.set_checked(true);
-
- UpdatePropertyExpectation expectation(property);
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_))
- .WillOnce(Invoke(&expectation, &UpdatePropertyExpectation::Evaluate));
-
- // Emit signal.
- service_->UpdateProperty(property);
-}
-
-TEST_F(IBusEngineServiceTest, ForwardKeyEventTest) {
- uint32 keyval = 0x20;
- uint32 keycode = 0x64;
- uint32 state = 0x00;
-
- ForwardKeyEventExpectation expectation(keyval, keycode, state);
-
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_))
- .WillOnce(Invoke(&expectation, &ForwardKeyEventExpectation::Evaluate));
-
- // Emit signal.
- service_->ForwardKeyEvent(keyval, keycode, state);
-}
-
-TEST_F(IBusEngineServiceTest, RequireSurroundingTextTest) {
- RequireSurroundingTextExpectation expectation;
- EXPECT_CALL(*mock_exported_object_.get(), SendSignal(_)).WillOnce(
- Invoke(&expectation, &RequireSurroundingTextExpectation::Evaluate));
-
- // Emit signal.
- service_->RequireSurroundingText();
-}
-
-} // namespace chromeos
« no previous file with comments | « chromeos/dbus/ibus/ibus_engine_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698