Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / ui / base / ime / win / mock_tsf_bridge.h
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.
4
5 #ifndef UI_BASE_IME_WIN_MOCK_TSF_BRIDGE_H_
6 #define UI_BASE_IME_WIN_MOCK_TSF_BRIDGE_H_
7
8 #include <msctf.h>
9
10 #include "base/compiler_specific.h"
11 #include "base/win/scoped_comptr.h"
12 #include "ui/base/ime/text_input_type.h"
13 #include "ui/base/ime/win/tsf_bridge.h"
14
15 namespace ui {
16
17 class MockTSFBridge : public TSFBridge {
18  public:
19   MockTSFBridge();
20   virtual ~MockTSFBridge();
21
22   // TSFBridge:
23   virtual bool CancelComposition() OVERRIDE;
24   virtual bool ConfirmComposition() OVERRIDE;
25   virtual void OnTextInputTypeChanged(const TextInputClient* client) OVERRIDE;
26   virtual void OnTextLayoutChanged() OVERRIDE;
27   virtual void SetFocusedClient(HWND focused_window,
28                                 TextInputClient* client) OVERRIDE;
29   virtual void RemoveFocusedClient(TextInputClient* client) OVERRIDE;
30   virtual base::win::ScopedComPtr<ITfThreadMgr> GetThreadManager() OVERRIDE;
31   virtual TextInputClient* GetFocusedTextInputClient() const OVERRIDE;
32
33   // Resets MockTSFBridge state including function call counter.
34   void Reset();
35
36   // Call count of EnableIME().
37   int enable_ime_call_count() const { return enable_ime_call_count_; }
38
39   // Call count of DisableIME().
40   int disalbe_ime_call_count() const { return disalbe_ime_call_count_; }
41
42   // Call count of CancelComposition().
43   int cancel_composition_call_count() const {
44     return cancel_composition_call_count_;
45   }
46
47   // Call count of ConfirmComposition().
48   int confirm_composition_call_count() const {
49     return confirm_composition_call_count_;
50   }
51
52   // Call count of OnTextLayoutChanged().
53   int on_text_layout_changed() const {
54     return on_text_layout_changed_;
55   }
56
57   // Call count of AssociateFocus().
58   int associate_focus_call_count() const { return associate_focus_call_count_; }
59
60   // Call count of SetFocusClient().
61   int set_focused_client_call_count() const {
62     return set_focused_client_call_count_;
63   }
64
65   // Call count of RemoveFocusedClient().
66   int remove_focused_client_call_count() const {
67     return remove_focused_client_call_count_;
68   }
69
70   // Returns current TextInputClient.
71   TextInputClient* text_input_clinet() const { return text_input_client_; }
72
73   // Returns currently focused window handle.
74   HWND focused_window() const { return focused_window_; }
75
76   // Returns latest text input type.
77   TextInputType latest_text_iput_type() const {
78     return latest_text_input_type_;
79   }
80
81  private:
82   int enable_ime_call_count_;
83   int disalbe_ime_call_count_;
84   int cancel_composition_call_count_;
85   int confirm_composition_call_count_;
86   int on_text_layout_changed_;
87   int associate_focus_call_count_;
88   int set_focused_client_call_count_;
89   int remove_focused_client_call_count_;
90   TextInputClient* text_input_client_;
91   HWND focused_window_;
92   TextInputType latest_text_input_type_;
93   base::win::ScopedComPtr<ITfThreadMgr> thread_manager_;
94
95   DISALLOW_COPY_AND_ASSIGN(MockTSFBridge);
96 };
97
98 }  // namespace ui
99
100 #endif  // UI_BASE_IME_WIN_MOCK_TSF_BRIDGE_H_