Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / input_method / mock_input_method_manager.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 CHROME_BROWSER_CHROMEOS_INPUT_METHOD_MOCK_INPUT_METHOD_MANAGER_H_
6 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_MOCK_INPUT_METHOD_MANAGER_H_
7
8 #include "chrome/browser/chromeos/input_method/input_method_util.h"
9 #include "chromeos/ime/fake_input_method_delegate.h"
10 #include "chromeos/ime/fake_xkeyboard.h"
11 #include "chromeos/ime/input_method_manager.h"
12 #include "chromeos/ime/input_method_whitelist.h"
13
14 namespace chromeos {
15 namespace input_method {
16
17 // The mock implementation of InputMethodManager for testing.
18 class MockInputMethodManager : public InputMethodManager {
19  public:
20   MockInputMethodManager();
21   virtual ~MockInputMethodManager();
22
23   // InputMethodManager override:
24   virtual void AddObserver(InputMethodManager::Observer* observer) OVERRIDE;
25   virtual void AddCandidateWindowObserver(
26       InputMethodManager::CandidateWindowObserver* observer) OVERRIDE;
27   virtual void RemoveObserver(InputMethodManager::Observer* observer) OVERRIDE;
28   virtual void RemoveCandidateWindowObserver(
29       InputMethodManager::CandidateWindowObserver* observer) OVERRIDE;
30   virtual scoped_ptr<InputMethodDescriptors>
31       GetSupportedInputMethods() const OVERRIDE;
32   virtual scoped_ptr<InputMethodDescriptors>
33       GetActiveInputMethods() const OVERRIDE;
34   virtual const std::vector<std::string>& GetActiveInputMethodIds() const
35       OVERRIDE;
36   virtual size_t GetNumActiveInputMethods() const OVERRIDE;
37   virtual const InputMethodDescriptor* GetInputMethodFromId(
38       const std::string& input_method_id) const OVERRIDE;
39   virtual void EnableLoginLayouts(
40       const std::string& language_code,
41       const std::vector<std::string>& initial_layout) OVERRIDE;
42   virtual bool ReplaceEnabledInputMethods(
43       const std::vector<std::string>& new_active_input_method_ids) OVERRIDE;
44   virtual bool EnableInputMethod(
45       const std::string& new_active_input_method_id) OVERRIDE;
46   virtual void ChangeInputMethod(const std::string& input_method_id) OVERRIDE;
47   virtual void ActivateInputMethodProperty(const std::string& key) OVERRIDE;
48   virtual void AddInputMethodExtension(
49       const std::string& id,
50       InputMethodEngineInterface* instance) OVERRIDE;
51   virtual void RemoveInputMethodExtension(const std::string& id) OVERRIDE;
52   virtual void GetInputMethodExtensions(
53       InputMethodDescriptors* result) OVERRIDE;
54   virtual void SetEnabledExtensionImes(std::vector<std::string>* ids) OVERRIDE;
55   virtual void SetInputMethodLoginDefault() OVERRIDE;
56   virtual bool SwitchToNextInputMethod() OVERRIDE;
57   virtual bool SwitchToPreviousInputMethod(
58       const ui::Accelerator& accelerator) OVERRIDE;
59   virtual bool SwitchInputMethod(const ui::Accelerator& accelerator) OVERRIDE;
60   virtual InputMethodDescriptor GetCurrentInputMethod() const OVERRIDE;
61   virtual InputMethodPropertyList
62       GetCurrentInputMethodProperties() const OVERRIDE;
63   virtual void SetCurrentInputMethodProperties(
64       const InputMethodPropertyList& property_list) OVERRIDE;
65   virtual XKeyboard* GetXKeyboard() OVERRIDE;
66   virtual InputMethodUtil* GetInputMethodUtil() OVERRIDE;
67   virtual ComponentExtensionIMEManager*
68       GetComponentExtensionIMEManager() OVERRIDE;
69   virtual bool IsLoginKeyboard(const std::string& layout) const OVERRIDE;
70
71   // Sets an input method ID which will be returned by GetCurrentInputMethod().
72   void SetCurrentInputMethodId(const std::string& input_method_id) {
73     current_input_method_id_ = input_method_id;
74   }
75
76   // Set values that will be provided to the InputMethodUtil.
77   void set_application_locale(const std::string& value);
78
79   // TODO(yusukes): Add more variables for counting the numbers of the API calls
80   int add_observer_count_;
81   int remove_observer_count_;
82
83  private:
84   // The value GetCurrentInputMethod().id() will return.
85   std::string current_input_method_id_;
86
87   InputMethodWhitelist whitelist_;
88   FakeInputMethodDelegate delegate_;  // used by util_
89   InputMethodUtil util_;
90   FakeXKeyboard xkeyboard_;
91
92   // The active input method ids cache (actually default only)
93   std::vector<std::string> active_input_method_ids_;
94
95   DISALLOW_COPY_AND_ASSIGN(MockInputMethodManager);
96 };
97
98 }  // namespace input_method
99 }  // namespace chromeos
100
101 #endif  // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_MOCK_INPUT_METHOD_MANAGER_H_