Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(480)

Side by Side Diff: ash/accelerators/accelerator_controller_unittest.cc

Issue 11421055: Add power-user keyboard mode for ChromeOS with Search key acting as a typical Fn key. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: SkyNits Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/accelerators/accelerator_controller.cc ('k') | ash/accelerators/accelerator_table.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ash/accelerators/accelerator_controller.h" 5 #include "ash/accelerators/accelerator_controller.h"
6 #include "ash/accelerators/accelerator_table.h" 6 #include "ash/accelerators/accelerator_table.h"
7 #include "ash/caps_lock_delegate.h" 7 #include "ash/caps_lock_delegate.h"
8 #include "ash/display/display_manager.h" 8 #include "ash/display/display_manager.h"
9 #include "ash/ime_control_delegate.h" 9 #include "ash/ime_control_delegate.h"
10 #include "ash/screenshot_delegate.h" 10 #include "ash/screenshot_delegate.h"
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 ui::Accelerator(ui::VKEY_F5, ui::EF_CONTROL_DOWN))); 621 ui::Accelerator(ui::VKEY_F5, ui::EF_CONTROL_DOWN)));
622 EXPECT_EQ(1, delegate->handle_take_screenshot_count()); 622 EXPECT_EQ(1, delegate->handle_take_screenshot_count());
623 EXPECT_TRUE(ProcessWithContext( 623 EXPECT_TRUE(ProcessWithContext(
624 ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE))); 624 ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE)));
625 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 625 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
626 EXPECT_TRUE(ProcessWithContext( 626 EXPECT_TRUE(ProcessWithContext(
627 ui::Accelerator(ui::VKEY_F5, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 627 ui::Accelerator(ui::VKEY_F5, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
628 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 628 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
629 } 629 }
630 #endif 630 #endif
631 // ToggleAppList
632 {
633 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
634 EXPECT_TRUE(ProcessWithContext(
635 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
636 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
637 EXPECT_TRUE(ProcessWithContext(
638 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
639 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
640 }
641 // ToggleAppList (with spoken feedback enabled)
642 {
643 ShellDelegate* delegate = ash::Shell::GetInstance()->delegate();
644 delegate->ToggleSpokenFeedback();
645 EXPECT_FALSE(ProcessWithContext(
646 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
647 delegate->ToggleSpokenFeedback();
648 EXPECT_TRUE(ProcessWithContext(
649 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
650 }
651 // DisableCapsLock 631 // DisableCapsLock
652 { 632 {
653 CapsLockDelegate* delegate = Shell::GetInstance()->caps_lock_delegate(); 633 CapsLockDelegate* delegate = Shell::GetInstance()->caps_lock_delegate();
654 delegate->SetCapsLockEnabled(true); 634 delegate->SetCapsLockEnabled(true);
655 EXPECT_TRUE(delegate->IsCapsLockEnabled()); 635 EXPECT_TRUE(delegate->IsCapsLockEnabled());
656 // Handled only on key release. 636 // Handled only on key release.
657 EXPECT_FALSE(ProcessWithContext( 637 EXPECT_FALSE(ProcessWithContext(
658 ui::Accelerator(ui::VKEY_LSHIFT, ui::EF_NONE))); 638 ui::Accelerator(ui::VKEY_LSHIFT, ui::EF_NONE)));
659 EXPECT_TRUE(delegate->IsCapsLockEnabled()); 639 EXPECT_TRUE(delegate->IsCapsLockEnabled());
660 EXPECT_TRUE(ProcessWithContext( 640 EXPECT_TRUE(ProcessWithContext(
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 935
956 // Lock screen 936 // Lock screen
957 // NOTE: Accelerators that do not work on the lock screen need to be 937 // NOTE: Accelerators that do not work on the lock screen need to be
958 // tested before the sequence below is invoked because it causes a side 938 // tested before the sequence below is invoked because it causes a side
959 // effect of locking the screen. 939 // effect of locking the screen.
960 EXPECT_TRUE(ProcessWithContext( 940 EXPECT_TRUE(ProcessWithContext(
961 ui::Accelerator(ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 941 ui::Accelerator(ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
962 #endif 942 #endif
963 } 943 }
964 944
945 TEST_F(AcceleratorControllerTest,
946 GlobalAcceleratorsToggleAppListWithoutSearchAsModifier) {
947 ShellDelegate* delegate = ash::Shell::GetInstance()->delegate();
948
949 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
950
951 // When Search is not acting as a modifier, pressing Search should toggle
952 // the AppList
953 EXPECT_TRUE(ProcessWithContext(
954 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
955 EXPECT_FALSE(ProcessWithContext(
956 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
957 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
958
959 // When spoken feedback is on, the AppList should not toggle.
960 delegate->ToggleSpokenFeedback();
961 EXPECT_FALSE(ProcessWithContext(
962 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
963 EXPECT_FALSE(ProcessWithContext(
964 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
965 delegate->ToggleSpokenFeedback();
966 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
967
968 EXPECT_TRUE(ProcessWithContext(
969 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
970 EXPECT_FALSE(ProcessWithContext(
971 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
972 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
973
974 // When spoken feedback is on, the AppList should not toggle.
975 delegate->ToggleSpokenFeedback();
976 EXPECT_FALSE(ProcessWithContext(
977 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
978 EXPECT_FALSE(ProcessWithContext(
979 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
980 delegate->ToggleSpokenFeedback();
981 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
982 }
983
984 TEST_F(AcceleratorControllerTest,
985 GlobalAcceleratorsToggleAppListWithSearchAsModifier) {
986 test::TestShellDelegate* delegate =
987 reinterpret_cast<test::TestShellDelegate*>(
988 ash::Shell::GetInstance()->delegate());
989 delegate->set_is_search_key_acting_as_function_key(true);
990
991 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
992
993 // When Search is acting as a modifier for accessing extended keyboard
994 // shortcuts, then the press event should not open the AppList, and the
995 // release should instead.
996 EXPECT_FALSE(ProcessWithContext(
997 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
998 EXPECT_TRUE(ProcessWithContext(
999 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1000 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1001
1002 // When spoken feedback is on, the AppList should not toggle.
1003 delegate->ToggleSpokenFeedback();
1004 EXPECT_FALSE(ProcessWithContext(
1005 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1006 EXPECT_FALSE(ProcessWithContext(
1007 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1008 delegate->ToggleSpokenFeedback();
1009 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1010
1011 EXPECT_FALSE(ProcessWithContext(
1012 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1013 EXPECT_TRUE(ProcessWithContext(
1014 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1015 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1016
1017 // When spoken feedback is on, the AppList should not toggle.
1018 delegate->ToggleSpokenFeedback();
1019 EXPECT_FALSE(ProcessWithContext(
1020 ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1021 EXPECT_FALSE(ProcessWithContext(
1022 ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1023 delegate->ToggleSpokenFeedback();
1024 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1025 }
1026
965 TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) { 1027 TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) {
966 // Test IME shortcuts. 1028 // Test IME shortcuts.
967 { 1029 {
968 const ui::Accelerator control_space(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN); 1030 const ui::Accelerator control_space(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN);
969 const ui::Accelerator convert(ui::VKEY_CONVERT, ui::EF_NONE); 1031 const ui::Accelerator convert(ui::VKEY_CONVERT, ui::EF_NONE);
970 const ui::Accelerator non_convert(ui::VKEY_NONCONVERT, ui::EF_NONE); 1032 const ui::Accelerator non_convert(ui::VKEY_NONCONVERT, ui::EF_NONE);
971 const ui::Accelerator wide_half_1(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE); 1033 const ui::Accelerator wide_half_1(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE);
972 const ui::Accelerator wide_half_2(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE); 1034 const ui::Accelerator wide_half_2(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE);
973 const ui::Accelerator hangul(ui::VKEY_HANGUL, ui::EF_NONE); 1035 const ui::Accelerator hangul(ui::VKEY_HANGUL, ui::EF_NONE);
974 EXPECT_FALSE(ProcessWithContext(control_space)); 1036 EXPECT_FALSE(ProcessWithContext(control_space));
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 EXPECT_EQ(f9, delegate->last_accelerator()); 1326 EXPECT_EQ(f9, delegate->last_accelerator());
1265 EXPECT_EQ(0, delegate->handle_volume_up_count()); 1327 EXPECT_EQ(0, delegate->handle_volume_up_count());
1266 EXPECT_TRUE(ProcessWithContext(f10)); 1328 EXPECT_TRUE(ProcessWithContext(f10));
1267 EXPECT_EQ(1, delegate->handle_volume_up_count()); 1329 EXPECT_EQ(1, delegate->handle_volume_up_count());
1268 EXPECT_EQ(f10, delegate->last_accelerator()); 1330 EXPECT_EQ(f10, delegate->last_accelerator());
1269 } 1331 }
1270 } 1332 }
1271 #endif 1333 #endif
1272 1334
1273 } // namespace ash 1335 } // namespace ash
OLDNEW
« no previous file with comments | « ash/accelerators/accelerator_controller.cc ('k') | ash/accelerators/accelerator_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698