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

Side by Side Diff: chrome/browser/ui/ash/event_rewriter_unittest.cc

Issue 12079097: Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head again; base::File changes conflicted. Created 7 years, 10 months 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
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 "chrome/browser/ui/ash/event_rewriter.h" 5 #include "chrome/browser/ui/ash/event_rewriter.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/prefs/public/pref_member.h" 9 #include "base/prefs/public/pref_member.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 ui::EF_ALT_DOWN, 484 ui::EF_ALT_DOWN,
485 ui::ET_KEY_PRESSED, 485 ui::ET_KEY_PRESSED,
486 keycode_super_r_, 486 keycode_super_r_,
487 Mod1Mask)); 487 Mod1Mask));
488 } 488 }
489 489
490 // For crbug.com/133896. 490 // For crbug.com/133896.
491 TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) { 491 TEST_F(EventRewriterTest, TestRewriteCommandToControlWithControlRemapped) {
492 // Remap Control to Alt. 492 // Remap Control to Alt.
493 TestingPrefServiceSyncable prefs; 493 TestingPrefServiceSyncable prefs;
494 chromeos::Preferences::RegisterUserPrefs(&prefs); 494 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
495 IntegerPrefMember control; 495 IntegerPrefMember control;
496 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); 496 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs);
497 control.SetValue(chromeos::input_method::kAltKey); 497 control.SetValue(chromeos::input_method::kAltKey);
498 498
499 EventRewriter rewriter; 499 EventRewriter rewriter;
500 rewriter.set_pref_service_for_testing(&prefs); 500 rewriter.set_pref_service_for_testing(&prefs);
501 rewriter.DeviceAddedForTesting(0, "PC Keyboard"); 501 rewriter.DeviceAddedForTesting(0, "PC Keyboard");
502 rewriter.set_last_device_id_for_testing(0); 502 rewriter.set_last_device_id_for_testing(0);
503 503
504 // XK_Control_L (left Control key) should be remapped to Alt. 504 // XK_Control_L (left Control key) should be remapped to Alt.
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1113 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
1114 ui::ET_KEY_PRESSED, 1114 ui::ET_KEY_PRESSED,
1115 keycode_b_, 1115 keycode_b_,
1116 ShiftMask | ControlMask | Mod1Mask | 1116 ShiftMask | ControlMask | Mod1Mask |
1117 Mod4Mask)); 1117 Mod4Mask));
1118 } 1118 }
1119 1119
1120 TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) { 1120 TEST_F(EventRewriterTest, TestRewriteModifiersDisableSome) {
1121 // Disable Search and Control keys. 1121 // Disable Search and Control keys.
1122 TestingPrefServiceSyncable prefs; 1122 TestingPrefServiceSyncable prefs;
1123 chromeos::Preferences::RegisterUserPrefs(&prefs); 1123 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1124 IntegerPrefMember search; 1124 IntegerPrefMember search;
1125 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 1125 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
1126 search.SetValue(chromeos::input_method::kVoidKey); 1126 search.SetValue(chromeos::input_method::kVoidKey);
1127 IntegerPrefMember control; 1127 IntegerPrefMember control;
1128 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); 1128 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs);
1129 control.SetValue(chromeos::input_method::kVoidKey); 1129 control.SetValue(chromeos::input_method::kVoidKey);
1130 1130
1131 EventRewriter rewriter; 1131 EventRewriter rewriter;
1132 rewriter.set_pref_service_for_testing(&prefs); 1132 rewriter.set_pref_service_for_testing(&prefs);
1133 1133
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1251 ui::VKEY_A, 1251 ui::VKEY_A,
1252 ui::EF_ALT_DOWN, 1252 ui::EF_ALT_DOWN,
1253 ui::ET_KEY_PRESSED, 1253 ui::ET_KEY_PRESSED,
1254 keycode_a_, 1254 keycode_a_,
1255 Mod1Mask)); 1255 Mod1Mask));
1256 } 1256 }
1257 1257
1258 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) { 1258 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToControl) {
1259 // Remap Search to Control. 1259 // Remap Search to Control.
1260 TestingPrefServiceSyncable prefs; 1260 TestingPrefServiceSyncable prefs;
1261 chromeos::Preferences::RegisterUserPrefs(&prefs); 1261 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1262 IntegerPrefMember search; 1262 IntegerPrefMember search;
1263 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 1263 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
1264 search.SetValue(chromeos::input_method::kControlKey); 1264 search.SetValue(chromeos::input_method::kControlKey);
1265 1265
1266 EventRewriter rewriter; 1266 EventRewriter rewriter;
1267 rewriter.set_pref_service_for_testing(&prefs); 1267 rewriter.set_pref_service_for_testing(&prefs);
1268 1268
1269 // Press Search. Confirm the event is now VKEY_CONTROL + XK_Control_L. 1269 // Press Search. Confirm the event is now VKEY_CONTROL + XK_Control_L.
1270 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, 1270 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL,
1271 ui::EF_CONTROL_DOWN, 1271 ui::EF_CONTROL_DOWN,
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1371 ui::EF_SHIFT_DOWN | 1371 ui::EF_SHIFT_DOWN |
1372 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1372 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
1373 ui::ET_KEY_PRESSED, 1373 ui::ET_KEY_PRESSED,
1374 keycode_b_, 1374 keycode_b_,
1375 ShiftMask | ControlMask | Mod1Mask)); 1375 ShiftMask | ControlMask | Mod1Mask));
1376 } 1376 }
1377 1377
1378 TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) { 1378 TEST_F(EventRewriterTest, TestRewriteModifiersRemapMany) {
1379 // Remap Search to Alt. 1379 // Remap Search to Alt.
1380 TestingPrefServiceSyncable prefs; 1380 TestingPrefServiceSyncable prefs;
1381 chromeos::Preferences::RegisterUserPrefs(&prefs); 1381 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1382 IntegerPrefMember search; 1382 IntegerPrefMember search;
1383 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 1383 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
1384 search.SetValue(chromeos::input_method::kAltKey); 1384 search.SetValue(chromeos::input_method::kAltKey);
1385 1385
1386 EventRewriter rewriter; 1386 EventRewriter rewriter;
1387 rewriter.set_pref_service_for_testing(&prefs); 1387 rewriter.set_pref_service_for_testing(&prefs);
1388 1388
1389 // Press Search. Confirm the event is now VKEY_MENU + XK_Alt_L. 1389 // Press Search. Confirm the event is now VKEY_MENU + XK_Alt_L.
1390 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_MENU, 1390 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_MENU,
1391 ui::EF_ALT_DOWN, 1391 ui::EF_ALT_DOWN,
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, 1483 ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN,
1484 ui::ET_KEY_PRESSED, 1484 ui::ET_KEY_PRESSED,
1485 keycode_b_, 1485 keycode_b_,
1486 ShiftMask | ControlMask | Mod1Mask | 1486 ShiftMask | ControlMask | Mod1Mask |
1487 Mod4Mask)); 1487 Mod4Mask));
1488 } 1488 }
1489 1489
1490 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) { 1490 TEST_F(EventRewriterTest, TestRewriteModifiersRemapToCapsLock) {
1491 // Remap Search to Caps Lock. 1491 // Remap Search to Caps Lock.
1492 TestingPrefServiceSyncable prefs; 1492 TestingPrefServiceSyncable prefs;
1493 chromeos::Preferences::RegisterUserPrefs(&prefs); 1493 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1494 IntegerPrefMember search; 1494 IntegerPrefMember search;
1495 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 1495 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
1496 search.SetValue(chromeos::input_method::kCapsLockKey); 1496 search.SetValue(chromeos::input_method::kCapsLockKey);
1497 1497
1498 chromeos::input_method::MockXKeyboard xkeyboard; 1498 chromeos::input_method::MockXKeyboard xkeyboard;
1499 EventRewriter rewriter; 1499 EventRewriter rewriter;
1500 rewriter.set_pref_service_for_testing(&prefs); 1500 rewriter.set_pref_service_for_testing(&prefs);
1501 rewriter.set_xkeyboard_for_testing(&xkeyboard); 1501 rewriter.set_xkeyboard_for_testing(&xkeyboard);
1502 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); 1502 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_);
1503 1503
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
1599 LockMask)); 1599 LockMask));
1600 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); 1600 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_);
1601 } 1601 }
1602 1602
1603 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLock) { 1603 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLock) {
1604 // It seems that the X server running on build servers is too old and does not 1604 // It seems that the X server running on build servers is too old and does not
1605 // support F16 (i.e. 'XKeysymToKeycode(display_, XF86XK_Launch7)' call). 1605 // support F16 (i.e. 'XKeysymToKeycode(display_, XF86XK_Launch7)' call).
1606 // TODO(yusukes): Reenable the test once build servers are upgraded. 1606 // TODO(yusukes): Reenable the test once build servers are upgraded.
1607 1607
1608 TestingPrefServiceSyncable prefs; 1608 TestingPrefServiceSyncable prefs;
1609 chromeos::Preferences::RegisterUserPrefs(&prefs); 1609 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1610 1610
1611 chromeos::input_method::MockXKeyboard xkeyboard; 1611 chromeos::input_method::MockXKeyboard xkeyboard;
1612 EventRewriter rewriter; 1612 EventRewriter rewriter;
1613 rewriter.set_pref_service_for_testing(&prefs); 1613 rewriter.set_pref_service_for_testing(&prefs);
1614 rewriter.set_xkeyboard_for_testing(&xkeyboard); 1614 rewriter.set_xkeyboard_for_testing(&xkeyboard);
1615 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); 1615 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_);
1616 1616
1617 // On Chrome OS, CapsLock is mapped to F16 with Mod3Mask. 1617 // On Chrome OS, CapsLock is mapped to F16 with Mod3Mask.
1618 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL, 1618 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CAPITAL,
1619 ui::EF_CAPS_LOCK_DOWN, 1619 ui::EF_CAPS_LOCK_DOWN,
1620 ui::ET_KEY_PRESSED, 1620 ui::ET_KEY_PRESSED,
1621 keycode_caps_lock_, 1621 keycode_caps_lock_,
1622 0U, 1622 0U,
1623 KeyPress), 1623 KeyPress),
1624 GetRewrittenEventAsString(&rewriter, 1624 GetRewrittenEventAsString(&rewriter,
1625 ui::VKEY_F16, 1625 ui::VKEY_F16,
1626 0, 1626 0,
1627 ui::ET_KEY_PRESSED, 1627 ui::ET_KEY_PRESSED,
1628 keycode_launch7_, 1628 keycode_launch7_,
1629 0U)); 1629 0U));
1630 EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_); 1630 EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_);
1631 } 1631 }
1632 1632
1633 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLockWithFlag) { 1633 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLockWithFlag) {
1634 // TODO(yusukes): Reenable the test once build servers are upgraded. 1634 // TODO(yusukes): Reenable the test once build servers are upgraded.
1635 TestingPrefServiceSyncable prefs; 1635 TestingPrefServiceSyncable prefs;
1636 chromeos::Preferences::RegisterUserPrefs(&prefs); 1636 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1637 1637
1638 chromeos::input_method::MockXKeyboard xkeyboard; 1638 chromeos::input_method::MockXKeyboard xkeyboard;
1639 EventRewriter rewriter; 1639 EventRewriter rewriter;
1640 rewriter.set_pref_service_for_testing(&prefs); 1640 rewriter.set_pref_service_for_testing(&prefs);
1641 rewriter.set_xkeyboard_for_testing(&xkeyboard); 1641 rewriter.set_xkeyboard_for_testing(&xkeyboard);
1642 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_); 1642 EXPECT_FALSE(xkeyboard.caps_lock_is_enabled_);
1643 1643
1644 // F16 should work as CapsLock even when --has-chromeos-keyboard is specified. 1644 // F16 should work as CapsLock even when --has-chromeos-keyboard is specified.
1645 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); 1645 const CommandLine original_cl(*CommandLine::ForCurrentProcess());
1646 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 1646 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
(...skipping 13 matching lines...) Expand all
1660 0U)); 1660 0U));
1661 EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_); 1661 EXPECT_TRUE(xkeyboard.caps_lock_is_enabled_);
1662 1662
1663 *CommandLine::ForCurrentProcess() = original_cl; 1663 *CommandLine::ForCurrentProcess() = original_cl;
1664 } 1664 }
1665 1665
1666 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKey) { 1666 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKey) {
1667 // TODO(yusukes): Reenable the test once build servers are upgraded. 1667 // TODO(yusukes): Reenable the test once build servers are upgraded.
1668 1668
1669 TestingPrefServiceSyncable prefs; 1669 TestingPrefServiceSyncable prefs;
1670 chromeos::Preferences::RegisterUserPrefs(&prefs); 1670 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1671 1671
1672 chromeos::input_method::MockXKeyboard xkeyboard; 1672 chromeos::input_method::MockXKeyboard xkeyboard;
1673 EventRewriter rewriter; 1673 EventRewriter rewriter;
1674 rewriter.set_pref_service_for_testing(&prefs); 1674 rewriter.set_pref_service_for_testing(&prefs);
1675 rewriter.set_xkeyboard_for_testing(&xkeyboard); 1675 rewriter.set_xkeyboard_for_testing(&xkeyboard);
1676 1676
1677 // F15 should work as Ctrl when --has-chromeos-diamond-key is not specified. 1677 // F15 should work as Ctrl when --has-chromeos-diamond-key is not specified.
1678 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, 1678 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL,
1679 ui::EF_CONTROL_DOWN, 1679 ui::EF_CONTROL_DOWN,
1680 ui::ET_KEY_PRESSED, 1680 ui::ET_KEY_PRESSED,
(...skipping 24 matching lines...) Expand all
1705 } 1705 }
1706 1706
1707 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKeyWithFlag) { 1707 TEST_F(EventRewriterTest, DISABLED_TestRewriteDiamondKeyWithFlag) {
1708 // TODO(yusukes): Reenable the test once build servers are upgraded. 1708 // TODO(yusukes): Reenable the test once build servers are upgraded.
1709 1709
1710 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); 1710 const CommandLine original_cl(*CommandLine::ForCurrentProcess());
1711 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 1711 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
1712 switches::kHasChromeOSDiamondKey, ""); 1712 switches::kHasChromeOSDiamondKey, "");
1713 1713
1714 TestingPrefServiceSyncable prefs; 1714 TestingPrefServiceSyncable prefs;
1715 chromeos::Preferences::RegisterUserPrefs(&prefs); 1715 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1716 1716
1717 chromeos::input_method::MockXKeyboard xkeyboard; 1717 chromeos::input_method::MockXKeyboard xkeyboard;
1718 EventRewriter rewriter; 1718 EventRewriter rewriter;
1719 rewriter.set_pref_service_for_testing(&prefs); 1719 rewriter.set_pref_service_for_testing(&prefs);
1720 rewriter.set_xkeyboard_for_testing(&xkeyboard); 1720 rewriter.set_xkeyboard_for_testing(&xkeyboard);
1721 1721
1722 // By default, F15 should work as Control. 1722 // By default, F15 should work as Control.
1723 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, 1723 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL,
1724 ui::EF_CONTROL_DOWN, 1724 ui::EF_CONTROL_DOWN,
1725 ui::ET_KEY_PRESSED, 1725 ui::ET_KEY_PRESSED,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1793 0, 1793 0,
1794 ui::ET_KEY_PRESSED, 1794 ui::ET_KEY_PRESSED,
1795 keycode_launch6_, 1795 keycode_launch6_,
1796 0U)); 1796 0U));
1797 1797
1798 *CommandLine::ForCurrentProcess() = original_cl; 1798 *CommandLine::ForCurrentProcess() = original_cl;
1799 } 1799 }
1800 1800
1801 TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) { 1801 TEST_F(EventRewriterTest, TestRewriteCapsLockToControl) {
1802 TestingPrefServiceSyncable prefs; 1802 TestingPrefServiceSyncable prefs;
1803 chromeos::Preferences::RegisterUserPrefs(&prefs); 1803 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1804 IntegerPrefMember control; 1804 IntegerPrefMember control;
1805 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); 1805 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs);
1806 control.SetValue(chromeos::input_method::kControlKey); 1806 control.SetValue(chromeos::input_method::kControlKey);
1807 1807
1808 EventRewriter rewriter; 1808 EventRewriter rewriter;
1809 rewriter.set_pref_service_for_testing(&prefs); 1809 rewriter.set_pref_service_for_testing(&prefs);
1810 1810
1811 // Press CapsLock+a. Confirm that Mod3Mask is rewritten to ControlMask. 1811 // Press CapsLock+a. Confirm that Mod3Mask is rewritten to ControlMask.
1812 // On Chrome OS, CapsLock works as a Mod3 modifier. 1812 // On Chrome OS, CapsLock works as a Mod3 modifier.
1813 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A, 1813 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1848 ui::VKEY_A, 1848 ui::VKEY_A,
1849 ui::EF_ALT_DOWN, 1849 ui::EF_ALT_DOWN,
1850 ui::ET_KEY_PRESSED, 1850 ui::ET_KEY_PRESSED,
1851 keycode_a_, 1851 keycode_a_,
1852 Mod1Mask | Mod3Mask)); 1852 Mod1Mask | Mod3Mask));
1853 } 1853 }
1854 1854
1855 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLockToControlWithFlag) { 1855 TEST_F(EventRewriterTest, DISABLED_TestRewriteCapsLockToControlWithFlag) {
1856 // TODO(yusukes): Reenable the test once build servers are upgraded. 1856 // TODO(yusukes): Reenable the test once build servers are upgraded.
1857 TestingPrefServiceSyncable prefs; 1857 TestingPrefServiceSyncable prefs;
1858 chromeos::Preferences::RegisterUserPrefs(&prefs); 1858 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1859 IntegerPrefMember control; 1859 IntegerPrefMember control;
1860 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); 1860 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs);
1861 control.SetValue(chromeos::input_method::kControlKey); 1861 control.SetValue(chromeos::input_method::kControlKey);
1862 1862
1863 EventRewriter rewriter; 1863 EventRewriter rewriter;
1864 rewriter.set_pref_service_for_testing(&prefs); 1864 rewriter.set_pref_service_for_testing(&prefs);
1865 1865
1866 // The prefs::kLanguageRemapCapsLockKeyTo pref should be ignored when 1866 // The prefs::kLanguageRemapCapsLockKeyTo pref should be ignored when
1867 // --has-chromeos-keyboard is set. 1867 // --has-chromeos-keyboard is set.
1868 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); 1868 const CommandLine original_cl(*CommandLine::ForCurrentProcess());
(...skipping 25 matching lines...) Expand all
1894 ui::ET_KEY_PRESSED, 1894 ui::ET_KEY_PRESSED,
1895 keycode_a_, 1895 keycode_a_,
1896 Mod3Mask)); 1896 Mod3Mask));
1897 1897
1898 *CommandLine::ForCurrentProcess() = original_cl; 1898 *CommandLine::ForCurrentProcess() = original_cl;
1899 } 1899 }
1900 1900
1901 TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) { 1901 TEST_F(EventRewriterTest, TestRewriteCapsLockMod3InUse) {
1902 // Remap CapsLock to Control. 1902 // Remap CapsLock to Control.
1903 TestingPrefServiceSyncable prefs; 1903 TestingPrefServiceSyncable prefs;
1904 chromeos::Preferences::RegisterUserPrefs(&prefs); 1904 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1905 IntegerPrefMember control; 1905 IntegerPrefMember control;
1906 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs); 1906 control.Init(prefs::kLanguageRemapCapsLockKeyTo, &prefs);
1907 control.SetValue(chromeos::input_method::kControlKey); 1907 control.SetValue(chromeos::input_method::kControlKey);
1908 1908
1909 EventRewriter rewriter; 1909 EventRewriter rewriter;
1910 rewriter.set_pref_service_for_testing(&prefs); 1910 rewriter.set_pref_service_for_testing(&prefs);
1911 input_method_manager_mock_->SetCurrentInputMethodId("xkb:de:neo:ger"); 1911 input_method_manager_mock_->SetCurrentInputMethodId("xkb:de:neo:ger");
1912 1912
1913 // Press CapsLock+a. Confirm that Mod3Mask is NOT rewritten to ControlMask 1913 // Press CapsLock+a. Confirm that Mod3Mask is NOT rewritten to ControlMask
1914 // when Mod3Mask is already in use by the current XKB layout. 1914 // when Mod3Mask is already in use by the current XKB layout.
1915 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A, 1915 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_A,
1916 0, 1916 0,
1917 ui::ET_KEY_PRESSED, 1917 ui::ET_KEY_PRESSED,
1918 keycode_a_, 1918 keycode_a_,
1919 Mod3Mask, 1919 Mod3Mask,
1920 KeyPress), 1920 KeyPress),
1921 GetRewrittenEventAsString(&rewriter, 1921 GetRewrittenEventAsString(&rewriter,
1922 ui::VKEY_A, 1922 ui::VKEY_A,
1923 0, 1923 0,
1924 ui::ET_KEY_PRESSED, 1924 ui::ET_KEY_PRESSED,
1925 keycode_a_, 1925 keycode_a_,
1926 Mod3Mask)); 1926 Mod3Mask));
1927 1927
1928 input_method_manager_mock_->SetCurrentInputMethodId("xkb:us::eng"); 1928 input_method_manager_mock_->SetCurrentInputMethodId("xkb:us::eng");
1929 } 1929 }
1930 1930
1931 TEST_F(EventRewriterTest, TestRewriteExtendedKeys) { 1931 TEST_F(EventRewriterTest, TestRewriteExtendedKeys) {
1932 TestingPrefServiceSyncable prefs; 1932 TestingPrefServiceSyncable prefs;
1933 chromeos::Preferences::RegisterUserPrefs(&prefs); 1933 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
1934 EventRewriter rewriter; 1934 EventRewriter rewriter;
1935 rewriter.set_pref_service_for_testing(&prefs); 1935 rewriter.set_pref_service_for_testing(&prefs);
1936 1936
1937 struct { 1937 struct {
1938 ui::KeyboardCode input; 1938 ui::KeyboardCode input;
1939 KeyCode input_native; 1939 KeyCode input_native;
1940 unsigned int input_mods; 1940 unsigned int input_mods;
1941 unsigned int input_native_mods; 1941 unsigned int input_native_mods;
1942 ui::KeyboardCode output; 1942 ui::KeyboardCode output;
1943 KeyCode output_native; 1943 KeyCode output_native;
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
2066 chromeos_tests[i].input, 2066 chromeos_tests[i].input,
2067 chromeos_tests[i].input_mods, 2067 chromeos_tests[i].input_mods,
2068 ui::ET_KEY_PRESSED, 2068 ui::ET_KEY_PRESSED,
2069 chromeos_tests[i].input_native, 2069 chromeos_tests[i].input_native,
2070 chromeos_tests[i].input_native_mods)); 2070 chromeos_tests[i].input_native_mods));
2071 } 2071 }
2072 } 2072 }
2073 2073
2074 TEST_F(EventRewriterTest, TestRewriteFunctionKeys) { 2074 TEST_F(EventRewriterTest, TestRewriteFunctionKeys) {
2075 TestingPrefServiceSyncable prefs; 2075 TestingPrefServiceSyncable prefs;
2076 chromeos::Preferences::RegisterUserPrefs(&prefs); 2076 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
2077 EventRewriter rewriter; 2077 EventRewriter rewriter;
2078 rewriter.set_pref_service_for_testing(&prefs); 2078 rewriter.set_pref_service_for_testing(&prefs);
2079 2079
2080 struct { 2080 struct {
2081 ui::KeyboardCode input; 2081 ui::KeyboardCode input;
2082 KeyCode input_native; 2082 KeyCode input_native;
2083 unsigned int input_native_mods; 2083 unsigned int input_native_mods;
2084 unsigned int input_mods; 2084 unsigned int input_mods;
2085 ui::KeyboardCode output; 2085 ui::KeyboardCode output;
2086 KeyCode output_native; 2086 KeyCode output_native;
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
2285 tests[i].input_native, 2285 tests[i].input_native,
2286 tests[i].input_native_mods)); 2286 tests[i].input_native_mods));
2287 } 2287 }
2288 } 2288 }
2289 2289
2290 TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) { 2290 TEST_F(EventRewriterTest, TestRewriteExtendedKeysWithSearchRemapped) {
2291 const CommandLine original_cl(*CommandLine::ForCurrentProcess()); 2291 const CommandLine original_cl(*CommandLine::ForCurrentProcess());
2292 2292
2293 // Remap Search to Control. 2293 // Remap Search to Control.
2294 TestingPrefServiceSyncable prefs; 2294 TestingPrefServiceSyncable prefs;
2295 chromeos::Preferences::RegisterUserPrefs(&prefs); 2295 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
2296 IntegerPrefMember search; 2296 IntegerPrefMember search;
2297 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs); 2297 search.Init(prefs::kLanguageRemapSearchKeyTo, &prefs);
2298 search.SetValue(chromeos::input_method::kControlKey); 2298 search.SetValue(chromeos::input_method::kControlKey);
2299 2299
2300 EventRewriter rewriter; 2300 EventRewriter rewriter;
2301 rewriter.set_pref_service_for_testing(&prefs); 2301 rewriter.set_pref_service_for_testing(&prefs);
2302 2302
2303 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 2303 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
2304 switches::kHasChromeOSKeyboard, ""); 2304 switches::kHasChromeOSKeyboard, "");
2305 2305
(...skipping 24 matching lines...) Expand all
2330 ui::ET_KEY_PRESSED, 2330 ui::ET_KEY_PRESSED,
2331 keycode_down_, 2331 keycode_down_,
2332 ShiftMask | Mod1Mask | Mod4Mask)); 2332 ShiftMask | Mod1Mask | Mod4Mask));
2333 2333
2334 *CommandLine::ForCurrentProcess() = original_cl; 2334 *CommandLine::ForCurrentProcess() = original_cl;
2335 } 2335 }
2336 2336
2337 TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) { 2337 TEST_F(EventRewriterTest, TestRewriteKeyEventSentByXSendEvent) {
2338 // Remap Control to Alt. 2338 // Remap Control to Alt.
2339 TestingPrefServiceSyncable prefs; 2339 TestingPrefServiceSyncable prefs;
2340 chromeos::Preferences::RegisterUserPrefs(&prefs); 2340 chromeos::Preferences::RegisterUserPrefs(&prefs, prefs.registry());
2341 IntegerPrefMember control; 2341 IntegerPrefMember control;
2342 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); 2342 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs);
2343 control.SetValue(chromeos::input_method::kAltKey); 2343 control.SetValue(chromeos::input_method::kAltKey);
2344 2344
2345 EventRewriter rewriter; 2345 EventRewriter rewriter;
2346 rewriter.set_pref_service_for_testing(&prefs); 2346 rewriter.set_pref_service_for_testing(&prefs);
2347 2347
2348 // Send left control press. 2348 // Send left control press.
2349 std::string rewritten_event; 2349 std::string rewritten_event;
2350 { 2350 {
(...skipping 14 matching lines...) Expand all
2365 // flag in the event is True. 2365 // flag in the event is True.
2366 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL, 2366 EXPECT_EQ(GetExpectedResultAsString(ui::VKEY_CONTROL,
2367 ui::EF_CONTROL_DOWN, 2367 ui::EF_CONTROL_DOWN,
2368 ui::ET_KEY_PRESSED, 2368 ui::ET_KEY_PRESSED,
2369 keycode_control_l_, 2369 keycode_control_l_,
2370 0U, 2370 0U,
2371 KeyPress), 2371 KeyPress),
2372 rewritten_event); 2372 rewritten_event);
2373 } 2373 }
2374 #endif // OS_CHROMEOS 2374 #endif // OS_CHROMEOS
OLDNEW
« no previous file with comments | « chrome/browser/ui/ash/chrome_launcher_prefs.cc ('k') | chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698