| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 "ash/sticky_keys/sticky_keys_controller.h" | 5 #include "ash/sticky_keys/sticky_keys_controller.h" |
| 6 | 6 |
| 7 #include <X11/Xlib.h> | 7 #include <X11/Xlib.h> |
| 8 #undef None | 8 #undef None |
| 9 #undef Bool | 9 #undef Bool |
| 10 #undef RootWindow | 10 #undef RootWindow |
| (...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 sticky_key.HandleKeyEvent(kev.get()); | 611 sticky_key.HandleKeyEvent(kev.get()); |
| 612 EXPECT_TRUE(kev->flags() & ui::EF_CONTROL_DOWN); | 612 EXPECT_TRUE(kev->flags() & ui::EF_CONTROL_DOWN); |
| 613 kev.reset(GenerateKey(false, ui::VKEY_N)); | 613 kev.reset(GenerateKey(false, ui::VKEY_N)); |
| 614 sticky_key.HandleKeyEvent(kev.get()); | 614 sticky_key.HandleKeyEvent(kev.get()); |
| 615 EXPECT_TRUE(kev->flags() & ui::EF_CONTROL_DOWN); | 615 EXPECT_TRUE(kev->flags() & ui::EF_CONTROL_DOWN); |
| 616 | 616 |
| 617 EXPECT_EQ(STICKY_KEY_STATE_LOCKED, sticky_key.current_state()); | 617 EXPECT_EQ(STICKY_KEY_STATE_LOCKED, sticky_key.current_state()); |
| 618 } | 618 } |
| 619 | 619 |
| 620 TEST_F(StickyKeysTest, ScrollEventOneshot) { | 620 TEST_F(StickyKeysTest, ScrollEventOneshot) { |
| 621 // Disable Australlian scrolling. | |
| 622 ui::DeviceDataManager::GetInstance()->set_natural_scroll_enabled(true); | |
| 623 | |
| 624 scoped_ptr<ui::ScrollEvent> ev; | 621 scoped_ptr<ui::ScrollEvent> ev; |
| 625 scoped_ptr<ui::KeyEvent> kev; | 622 scoped_ptr<ui::KeyEvent> kev; |
| 626 MockStickyKeysHandlerDelegate* mock_delegate = | 623 MockStickyKeysHandlerDelegate* mock_delegate = |
| 627 new MockStickyKeysHandlerDelegate(this); | 624 new MockStickyKeysHandlerDelegate(this); |
| 628 StickyKeysHandler sticky_key(ui::EF_CONTROL_DOWN, mock_delegate); | 625 StickyKeysHandler sticky_key(ui::EF_CONTROL_DOWN, mock_delegate); |
| 629 | 626 |
| 630 int scroll_deltas[] = {-10, 10}; | 627 int scroll_deltas[] = {-10, 10}; |
| 631 for (int i = 0; i < 2; ++i) { | 628 for (int i = 0; i < 2; ++i) { |
| 632 mock_delegate->ClearEvents(); | 629 mock_delegate->ClearEvents(); |
| 633 | 630 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 663 static_cast<const ui::ScrollEvent*>( | 660 static_cast<const ui::ScrollEvent*>( |
| 664 mock_delegate->GetEvent(0))->y_offset()); | 661 mock_delegate->GetEvent(0))->y_offset()); |
| 665 EXPECT_EQ(ui::ET_KEY_RELEASED, mock_delegate->GetEvent(1)->type()); | 662 EXPECT_EQ(ui::ET_KEY_RELEASED, mock_delegate->GetEvent(1)->type()); |
| 666 EXPECT_EQ(ui::VKEY_CONTROL, | 663 EXPECT_EQ(ui::VKEY_CONTROL, |
| 667 static_cast<const ui::KeyEvent*>(mock_delegate->GetEvent(1)) | 664 static_cast<const ui::KeyEvent*>(mock_delegate->GetEvent(1)) |
| 668 ->key_code()); | 665 ->key_code()); |
| 669 } | 666 } |
| 670 } | 667 } |
| 671 | 668 |
| 672 TEST_F(StickyKeysTest, ScrollDirectionChanged) { | 669 TEST_F(StickyKeysTest, ScrollDirectionChanged) { |
| 673 // Disable Australlian scrolling. | |
| 674 ui::DeviceDataManager::GetInstance()->set_natural_scroll_enabled(true); | |
| 675 | |
| 676 scoped_ptr<ui::ScrollEvent> ev; | 670 scoped_ptr<ui::ScrollEvent> ev; |
| 677 scoped_ptr<ui::KeyEvent> kev; | 671 scoped_ptr<ui::KeyEvent> kev; |
| 678 MockStickyKeysHandlerDelegate* mock_delegate = | 672 MockStickyKeysHandlerDelegate* mock_delegate = |
| 679 new MockStickyKeysHandlerDelegate(this); | 673 new MockStickyKeysHandlerDelegate(this); |
| 680 StickyKeysHandler sticky_key(ui::EF_CONTROL_DOWN, mock_delegate); | 674 StickyKeysHandler sticky_key(ui::EF_CONTROL_DOWN, mock_delegate); |
| 681 | 675 |
| 682 // Test direction change with both boundary value and negative value. | 676 // Test direction change with both boundary value and negative value. |
| 683 const int direction_change_values[2] = {0, -10}; | 677 const int direction_change_values[2] = {0, -10}; |
| 684 for (int i = 0; i < 2; ++i) { | 678 for (int i = 0; i < 2; ++i) { |
| 685 SendActivateStickyKeyPattern(&sticky_key, ui::VKEY_CONTROL); | 679 SendActivateStickyKeyPattern(&sticky_key, ui::VKEY_CONTROL); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 700 } | 694 } |
| 701 | 695 |
| 702 ev.reset(GenerateScrollEvent(direction_change_values[i])); | 696 ev.reset(GenerateScrollEvent(direction_change_values[i])); |
| 703 sticky_key.HandleScrollEvent(ev.get()); | 697 sticky_key.HandleScrollEvent(ev.get()); |
| 704 EXPECT_FALSE(ev->flags() & ui::EF_CONTROL_DOWN); | 698 EXPECT_FALSE(ev->flags() & ui::EF_CONTROL_DOWN); |
| 705 EXPECT_EQ(STICKY_KEY_STATE_DISABLED, sticky_key.current_state()); | 699 EXPECT_EQ(STICKY_KEY_STATE_DISABLED, sticky_key.current_state()); |
| 706 } | 700 } |
| 707 } | 701 } |
| 708 | 702 |
| 709 TEST_F(StickyKeysTest, ScrollEventLocked) { | 703 TEST_F(StickyKeysTest, ScrollEventLocked) { |
| 710 // Disable Australlian scrolling. | |
| 711 ui::DeviceDataManager::GetInstance()->set_natural_scroll_enabled(true); | |
| 712 | |
| 713 scoped_ptr<ui::ScrollEvent> ev; | 704 scoped_ptr<ui::ScrollEvent> ev; |
| 714 scoped_ptr<ui::KeyEvent> kev; | 705 scoped_ptr<ui::KeyEvent> kev; |
| 715 MockStickyKeysHandlerDelegate* mock_delegate = | 706 MockStickyKeysHandlerDelegate* mock_delegate = |
| 716 new MockStickyKeysHandlerDelegate(this); | 707 new MockStickyKeysHandlerDelegate(this); |
| 717 StickyKeysHandler sticky_key(ui::EF_CONTROL_DOWN, mock_delegate); | 708 StickyKeysHandler sticky_key(ui::EF_CONTROL_DOWN, mock_delegate); |
| 718 | 709 |
| 719 // Lock sticky keys. | 710 // Lock sticky keys. |
| 720 SendActivateStickyKeyPattern(&sticky_key, ui::VKEY_CONTROL); | 711 SendActivateStickyKeyPattern(&sticky_key, ui::VKEY_CONTROL); |
| 721 SendActivateStickyKeyPattern(&sticky_key, ui::VKEY_CONTROL); | 712 SendActivateStickyKeyPattern(&sticky_key, ui::VKEY_CONTROL); |
| 722 EXPECT_EQ(STICKY_KEY_STATE_LOCKED, sticky_key.current_state()); | 713 EXPECT_EQ(STICKY_KEY_STATE_LOCKED, sticky_key.current_state()); |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 945 static_cast<ui::KeyEvent*>(events[1])->key_code()); | 936 static_cast<ui::KeyEvent*>(events[1])->key_code()); |
| 946 | 937 |
| 947 Shell::GetInstance()->RemovePreTargetHandler(&buffer); | 938 Shell::GetInstance()->RemovePreTargetHandler(&buffer); |
| 948 } | 939 } |
| 949 | 940 |
| 950 INSTANTIATE_TEST_CASE_P(DPIScaleFactors, | 941 INSTANTIATE_TEST_CASE_P(DPIScaleFactors, |
| 951 StickyKeysMouseDispatchTest, | 942 StickyKeysMouseDispatchTest, |
| 952 ::testing::Values(1, 2)); | 943 ::testing::Values(1, 2)); |
| 953 | 944 |
| 954 } // namespace ash | 945 } // namespace ash |
| OLD | NEW |