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 |