OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/ash/caps_lock_handler.h" | 5 #include "chrome/browser/ui/ash/caps_lock_handler.h" |
6 | 6 |
7 #include "chrome/test/base/in_process_browser_test.h" | 7 #include "chrome/test/base/in_process_browser_test.h" |
8 #include "chrome/test/base/ui_test_utils.h" | 8 #include "chrome/test/base/ui_test_utils.h" |
9 | 9 |
10 #if defined(OS_CHROMEOS) | 10 #if defined(OS_CHROMEOS) |
11 #include "chrome/browser/chromeos/input_method/mock_xkeyboard.h" | 11 #include "chrome/browser/chromeos/input_method/mock_xkeyboard.h" |
12 using namespace chromeos::input_method; | 12 using namespace chromeos::input_method; |
13 #endif | 13 #endif |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 #if defined(OS_CHROMEOS) | 17 #if defined(OS_CHROMEOS) |
18 class CapsLockHandlerTest : public InProcessBrowserTest { | 18 class CapsLockHandlerTest : public InProcessBrowserTest { |
19 public: | 19 public: |
20 CapsLockHandlerTest() | 20 CapsLockHandlerTest() |
21 : initial_caps_lock_state_(false) { | 21 : initial_caps_lock_state_(false) { |
22 } | 22 } |
23 virtual void SetUp() OVERRIDE { | 23 virtual void SetUp() OVERRIDE { |
24 handler_.reset(new CapsLockHandler(&xkeyboard_)); | 24 handler_.reset(new CapsLockHandler(&xkeyboard_)); |
25 // Force CapsLockHandler::HandleToggleCapsLock() to toggle the lock state. | 25 // Force CapsLockHandler::ToggleCapsLock() to toggle the lock state. |
26 handler_->set_is_running_on_chromeos_for_test(true); | 26 handler_->set_is_running_on_chromeos_for_test(true); |
27 } | 27 } |
28 virtual void TearDown() OVERRIDE { | 28 virtual void TearDown() OVERRIDE { |
29 handler_.reset(); | 29 handler_.reset(); |
30 } | 30 } |
31 | 31 |
32 protected: | 32 protected: |
33 const bool initial_caps_lock_state_; | 33 const bool initial_caps_lock_state_; |
34 MockXKeyboard xkeyboard_; | 34 MockXKeyboard xkeyboard_; |
35 scoped_ptr<CapsLockHandler> handler_; | 35 scoped_ptr<CapsLockHandler> handler_; |
36 | 36 |
37 DISALLOW_COPY_AND_ASSIGN(CapsLockHandlerTest); | 37 DISALLOW_COPY_AND_ASSIGN(CapsLockHandlerTest); |
38 }; | 38 }; |
39 #endif | 39 #endif |
40 | 40 |
41 } // namespace | 41 } // namespace |
42 | 42 |
43 #if defined(OS_CHROMEOS) | 43 #if defined(OS_CHROMEOS) |
44 // Check if HandleToggleCapsLock() really changes the lock state. | 44 // Check if ToggleCapsLock() really changes the lock state. |
45 IN_PROC_BROWSER_TEST_F(CapsLockHandlerTest, TestCapsLock) { | 45 IN_PROC_BROWSER_TEST_F(CapsLockHandlerTest, TestCapsLock) { |
46 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); | 46 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); |
47 EXPECT_TRUE(handler_->HandleToggleCapsLock()); | 47 handler_->ToggleCapsLock(); |
48 EXPECT_EQ(!initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); | 48 EXPECT_EQ(!initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); |
49 handler_->OnCapsLockChange(!initial_caps_lock_state_); | 49 handler_->OnCapsLockChange(!initial_caps_lock_state_); |
50 EXPECT_EQ(!initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); | 50 EXPECT_EQ(!initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); |
51 EXPECT_TRUE(handler_->HandleToggleCapsLock()); | 51 handler_->ToggleCapsLock(); |
52 handler_->OnCapsLockChange(initial_caps_lock_state_); | 52 handler_->OnCapsLockChange(initial_caps_lock_state_); |
53 EXPECT_EQ(initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); | 53 EXPECT_EQ(initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); |
54 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); | 54 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); |
| 55 |
| 56 // Check if SetCapsLockEnabled really changes the lock state. |
| 57 handler_->SetCapsLockEnabled(!initial_caps_lock_state_); |
| 58 EXPECT_EQ(!initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); |
| 59 EXPECT_EQ(!initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); |
| 60 EXPECT_EQ(!initial_caps_lock_state_, handler_->IsCapsLockEnabled()); |
| 61 handler_->SetCapsLockEnabled(initial_caps_lock_state_); |
| 62 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); |
| 63 EXPECT_EQ(initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); |
| 64 EXPECT_EQ(initial_caps_lock_state_, handler_->IsCapsLockEnabled()); |
55 } | 65 } |
56 #endif | 66 #endif |
OLD | NEW |