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

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

Issue 10968056: Fix crash bug of IME extension API. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix nits Created 8 years, 3 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') | chromeos/dbus/ibus/mock_ibus_engine_service.h » ('j') | 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
index 3800087d2946b10b288475bf6dbe72fad809a161..f7f4d937c140cd3189b3ea886afcb5bd1c9ad902 100644
--- a/chromeos/dbus/ibus/ibus_engine_service_unittest.cc
+++ b/chromeos/dbus/ibus/ibus_engine_service_unittest.cc
@@ -476,16 +476,16 @@ class IBusEngineServiceTest : public testing::Test {
mock_bus_.get(),
dbus::ObjectPath(kObjectPath)));
- // Call Initialize to set engine handler.
- engine_handler_ = new MockIBusEngineHandler();
- service_->Initialize(engine_handler_);
+ // 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.
- MockIBusEngineHandler* engine_handler_;
+ scoped_ptr<MockIBusEngineHandler> engine_handler_;
// The mock bus.
scoped_refptr<dbus::MockBus> mock_bus_;
// The mock exported object.
@@ -534,6 +534,15 @@ TEST_F(IBusEngineServiceTest, FocusInTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, FocusIn()).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kFocusInMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, FocusOutTest) {
@@ -558,6 +567,15 @@ TEST_F(IBusEngineServiceTest, FocusOutTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, FocusOut()).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kFocusOutMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, EnableTest) {
@@ -582,6 +600,15 @@ TEST_F(IBusEngineServiceTest, EnableTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, Enable()).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kEnableMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, DisableTest) {
@@ -606,6 +633,15 @@ TEST_F(IBusEngineServiceTest, DisableTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, Disable()).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kDisableMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, PropertyActivateTest) {
@@ -637,6 +673,16 @@ TEST_F(IBusEngineServiceTest, PropertyActivateTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, PropertyActivate(kPropertyName,
+ kIBusPropertyState)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kPropertyActivateMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, ResetTest) {
@@ -661,6 +707,15 @@ TEST_F(IBusEngineServiceTest, ResetTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, Reset()).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kResetMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, PropertyShowTest) {
@@ -688,6 +743,15 @@ TEST_F(IBusEngineServiceTest, PropertyShowTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, PropertyShow(kPropertyName)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kPropertyShowMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, PropertyHideTest) {
@@ -715,6 +779,15 @@ TEST_F(IBusEngineServiceTest, PropertyHideTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, PropertyHide(kPropertyName)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kPropertyHideMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, SetCapabilityTest) {
@@ -743,6 +816,15 @@ TEST_F(IBusEngineServiceTest, SetCapabilityTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, SetCapability(kIBusCapability)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kSetCapabilityMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, ProcessKeyEventTest) {
@@ -779,6 +861,16 @@ TEST_F(IBusEngineServiceTest, ProcessKeyEventTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_,
+ ProcessKeyEvent(kKeySym, kKeyCode, kState, _)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kProcessKeyEventMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, DelayProcessKeyEventTest) {
@@ -818,6 +910,16 @@ TEST_F(IBusEngineServiceTest, DelayProcessKeyEventTest) {
// Call KeyEventDone callback.
message_loop_.RunAllPending();
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_,
+ ProcessKeyEvent(kKeySym, kKeyCode, kState, _)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kProcessKeyEventMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, CandidateClickedTest) {
@@ -851,6 +953,16 @@ TEST_F(IBusEngineServiceTest, CandidateClickedTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, CandidateClicked(kIndex, kIBusMouseButton,
+ kState)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kCandidateClickedMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, SetSurroundingTextTest) {
@@ -883,6 +995,16 @@ TEST_F(IBusEngineServiceTest, SetSurroundingTextTest) {
&method_call,
base::Bind(&MockResponseSender::Run,
base::Unretained(&response_sender)));
+
+ // Call exported function without engine.
+ service_->UnsetEngine();
+ EXPECT_CALL(*engine_handler_, SetSurroundingText(kText, kCursorPos,
+ kAnchorPos)).Times(0);
+ EXPECT_CALL(response_sender, Run(_)).Times(0);
+ method_callback_map_[ibus::engine::kSetSurroundingTextMethod].Run(
+ &method_call,
+ base::Bind(&MockResponseSender::Run,
+ base::Unretained(&response_sender)));
}
TEST_F(IBusEngineServiceTest, RegisterProperties) {
@@ -994,5 +1116,4 @@ TEST_F(IBusEngineServiceTest, RequireSurroundingTextTest) {
service_->RequireSurroundingText();
}
-
} // namespace chromeos
« no previous file with comments | « chromeos/dbus/ibus/ibus_engine_service.cc ('k') | chromeos/dbus/ibus/mock_ibus_engine_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698