• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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_CHROMEOS_MOCK_IME_INPUT_CONTEXT_HANDLER_H_
6 #define UI_BASE_IME_CHROMEOS_MOCK_IME_INPUT_CONTEXT_HANDLER_H_
7 
8 #include "chromeos/ime/composition_text.h"
9 #include "ui/base/ime/chromeos/ime_bridge.h"
10 #include "ui/base/ui_base_export.h"
11 
12 namespace chromeos {
13 
14 class UI_BASE_EXPORT MockIMEInputContextHandler
15     : public IMEInputContextHandlerInterface {
16  public:
17   struct UpdateCompositionTextArg {
18     CompositionText composition_text;
19     uint32 cursor_pos;
20     bool is_visible;
21   };
22 
23   struct DeleteSurroundingTextArg {
24     int32 offset;
25     uint32 length;
26   };
27 
28   MockIMEInputContextHandler();
29   virtual ~MockIMEInputContextHandler();
30 
31   virtual void CommitText(const std::string& text) OVERRIDE;
32   virtual void UpdateCompositionText(const CompositionText& text,
33                                  uint32 cursor_pos,
34                                  bool visible) OVERRIDE;
35   virtual void DeleteSurroundingText(int32 offset, uint32 length) OVERRIDE;
36 
commit_text_call_count()37   int commit_text_call_count() const { return commit_text_call_count_; }
38 
update_preedit_text_call_count()39   int update_preedit_text_call_count() const {
40     return update_preedit_text_call_count_;
41   }
42 
delete_surrounding_text_call_count()43   int delete_surrounding_text_call_count() const {
44     return delete_surrounding_text_call_count_;
45   }
46 
last_commit_text()47   const std::string& last_commit_text() const {
48     return last_commit_text_;
49   };
50 
last_update_composition_arg()51   const UpdateCompositionTextArg& last_update_composition_arg() const {
52     return last_update_composition_arg_;
53   }
54 
last_delete_surrounding_text_arg()55   const DeleteSurroundingTextArg& last_delete_surrounding_text_arg() const {
56     return last_delete_surrounding_text_arg_;
57   }
58 
59   // Resets all call count.
60   void Reset();
61 
62  private:
63   int commit_text_call_count_;
64   int update_preedit_text_call_count_;
65   int delete_surrounding_text_call_count_;
66   std::string last_commit_text_;
67   UpdateCompositionTextArg last_update_composition_arg_;
68   DeleteSurroundingTextArg last_delete_surrounding_text_arg_;
69 };
70 
71 }  // namespace chromeos
72 
73 #endif  // UI_BASE_IME_CHROMEOS_MOCK_IME_INPUT_CONTEXT_HANDLER_H_
74