• 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 CHROMEOS_IME_MOCK_XKEYBOARD_H_
6 #define CHROMEOS_IME_MOCK_XKEYBOARD_H_
7 
8 #include "chromeos/ime/xkeyboard.h"
9 
10 #include <string>
11 
12 #include "base/compiler_specific.h"
13 
14 namespace chromeos {
15 namespace input_method {
16 
17 class MockXKeyboard : public XKeyboard {
18  public:
19   MockXKeyboard();
~MockXKeyboard()20   virtual ~MockXKeyboard() {}
21 
22   virtual bool SetCurrentKeyboardLayoutByName(
23       const std::string& layout_name) OVERRIDE;
24   virtual bool ReapplyCurrentKeyboardLayout() OVERRIDE;
25   virtual void ReapplyCurrentModifierLockStatus() OVERRIDE;
26   virtual void SetLockedModifiers(
27       ModifierLockStatus new_caps_lock_status,
28       ModifierLockStatus new_num_lock_status) OVERRIDE;
29   virtual void SetNumLockEnabled(bool enable_num_lock) OVERRIDE;
30   virtual void SetCapsLockEnabled(bool enable_caps_lock) OVERRIDE;
31   virtual bool NumLockIsEnabled() OVERRIDE;
32   virtual bool CapsLockIsEnabled() OVERRIDE;
33   virtual unsigned int GetNumLockMask() OVERRIDE;
34   virtual void GetLockedModifiers(bool* out_caps_lock_enabled,
35                                   bool* out_num_lock_enabled) OVERRIDE;
36 
37   int set_current_keyboard_layout_by_name_count_;
38   std::string last_layout_;
39   bool caps_lock_is_enabled_;
40   bool num_lock_is_enabled_;
41   // TODO(yusukes): Add more variables for counting the numbers of the API calls
42 
43  private:
44   DISALLOW_COPY_AND_ASSIGN(MockXKeyboard);
45 };
46 
47 }  // namespace input_method
48 }  // namespace chromeos
49 
50 #endif  // CHROMEOS_IME_MOCK_XKEYBOARD_H_
51