1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMEOS_DBUS_IBUS_MOCK_IBUS_ENGINE_SERVICE_H_
6 #define CHROMEOS_DBUS_IBUS_MOCK_IBUS_ENGINE_SERVICE_H_
9 #include "chromeos/dbus/ibus/ibus_engine_service.h"
10 #include "chromeos/dbus/ibus/ibus_text.h"
16 class MockIBusEngineService : public IBusEngineService {
19 struct UpdatePreeditArg {
20 UpdatePreeditArg() : is_visible(false) {}
26 struct UpdateAuxiliaryTextArg {
27 UpdateAuxiliaryTextArg() : is_visible(false) {}
32 struct DeleteSurroundingTextArg {
37 MockIBusEngineService();
38 virtual ~MockIBusEngineService();
40 // IBusEngineService overrides.
41 virtual void SetEngine(IBusEngineHandlerInterface* handler) OVERRIDE;
42 virtual void UnsetEngine(IBusEngineHandlerInterface* handler) OVERRIDE;
43 virtual void UpdatePreedit(const IBusText& ibus_text,
46 IBusEnginePreeditFocusOutMode mode) OVERRIDE;
47 virtual void UpdateAuxiliaryText(const IBusText& ibus_text,
48 bool is_visible) OVERRIDE;
49 virtual void ForwardKeyEvent(uint32 keyval, uint32 keycode,
50 uint32 state) OVERRIDE;
51 virtual void RequireSurroundingText() OVERRIDE;
52 virtual void DeleteSurroundingText(int32 offset, uint32 length) OVERRIDE;
54 IBusEngineHandlerInterface* GetEngine() const;
58 int update_preedit_call_count() const { return update_preedit_call_count_; }
59 const UpdatePreeditArg& last_update_preedit_arg() const {
60 return *last_update_preedit_arg_.get();
63 int update_auxiliary_text_call_count() const {
64 return update_auxiliary_text_call_count_;
66 const UpdateAuxiliaryTextArg& last_update_aux_text_arg() const {
67 return *last_update_aux_text_arg_.get();
70 int delete_surrounding_text_call_count() const {
71 return delete_surrounding_text_call_count_;
73 const DeleteSurroundingTextArg& last_delete_surrounding_text_arg() const {
74 return *last_delete_surrounding_text_arg_.get();
78 int update_preedit_call_count_;
79 int update_auxiliary_text_call_count_;
80 int forward_key_event_call_count_;
81 int delete_surrounding_text_call_count_;
83 scoped_ptr<UpdatePreeditArg> last_update_preedit_arg_;
84 scoped_ptr<UpdateAuxiliaryTextArg> last_update_aux_text_arg_;
85 scoped_ptr<DeleteSurroundingTextArg> last_delete_surrounding_text_arg_;
87 IBusEngineHandlerInterface* current_engine_;
89 DISALLOW_COPY_AND_ASSIGN(MockIBusEngineService);
92 } // namespace chromeos
94 #endif // CHROMEOS_DBUS_IBUS_MOCK_IBUS_ENGINE_SERVICE_H_