OLD | NEW |
| (Empty) |
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 #include "chrome/browser/ui/views/ash/caps_lock_handler.h" | |
6 #include "chrome/test/base/in_process_browser_test.h" | |
7 #include "chrome/test/base/ui_test_utils.h" | |
8 | |
9 #if defined(OS_CHROMEOS) | |
10 #include "chrome/browser/chromeos/input_method/mock_xkeyboard.h" | |
11 using namespace chromeos::input_method; | |
12 #endif | |
13 | |
14 namespace { | |
15 | |
16 #if defined(OS_CHROMEOS) | |
17 class CapsLockHandlerTest : public InProcessBrowserTest { | |
18 public: | |
19 CapsLockHandlerTest() | |
20 : initial_caps_lock_state_(false) { | |
21 } | |
22 virtual void SetUp() OVERRIDE { | |
23 handler_.reset(new CapsLockHandler(&xkeyboard_)); | |
24 // Force CapsLockHandler::HandleToggleCapsLock() to toggle the lock state. | |
25 handler_->set_is_running_on_chromeos_for_test(true); | |
26 } | |
27 virtual void TearDown() OVERRIDE { | |
28 handler_.reset(); | |
29 } | |
30 | |
31 protected: | |
32 const bool initial_caps_lock_state_; | |
33 MockXKeyboard xkeyboard_; | |
34 scoped_ptr<CapsLockHandler> handler_; | |
35 | |
36 DISALLOW_COPY_AND_ASSIGN(CapsLockHandlerTest); | |
37 }; | |
38 #endif | |
39 | |
40 } // namespace | |
41 | |
42 #if defined(OS_CHROMEOS) | |
43 // Check if HandleToggleCapsLock() really changes the lock state. | |
44 IN_PROC_BROWSER_TEST_F(CapsLockHandlerTest, TestCapsLock) { | |
45 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); | |
46 EXPECT_TRUE(handler_->HandleToggleCapsLock()); | |
47 EXPECT_EQ(!initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); | |
48 handler_->OnCapsLockChange(!initial_caps_lock_state_); | |
49 EXPECT_EQ(!initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); | |
50 EXPECT_TRUE(handler_->HandleToggleCapsLock()); | |
51 handler_->OnCapsLockChange(initial_caps_lock_state_); | |
52 EXPECT_EQ(initial_caps_lock_state_, xkeyboard_.CapsLockIsEnabled()); | |
53 EXPECT_EQ(initial_caps_lock_state_, handler_->caps_lock_is_on_for_test()); | |
54 } | |
55 #endif | |
OLD | NEW |