aboutsummaryrefslogtreecommitdiff
path: root/tests/basic/keypress.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic/keypress.cpp')
-rw-r--r--tests/basic/keypress.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/basic/keypress.cpp b/tests/basic/keypress.cpp
index 4424e8696..2bb029d88 100644
--- a/tests/basic/keypress.cpp
+++ b/tests/basic/keypress.cpp
@@ -85,4 +85,40 @@ TEST_F(KeyPress, LeftShiftIsReportedCorrectly) {
85 release_key(3, 0); 85 release_key(3, 0);
86 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport())); 86 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
87 keyboard_task(); 87 keyboard_task();
88}
89
90TEST_F(KeyPress, PressLeftShiftAndControl) {
91 TestDriver driver;
92 press_key(3, 0);
93 press_key(5, 0);
94 // Unfortunately modifiers are also processed in the wrong order
95 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
96 keyboard_task();
97 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_LCTRL)));
98 keyboard_task();
99}
100
101TEST_F(KeyPress, LeftAndRightShiftCanBePressedAtTheSameTime) {
102 TestDriver driver;
103 press_key(3, 0);
104 press_key(4, 0);
105 // Unfortunately modifiers are also processed in the wrong order
106 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
107 keyboard_task();
108 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_RSFT)));
109 keyboard_task();
110}
111
112TEST_F(KeyPress, RightShiftLeftControlAndCharWithTheSameKey) {
113 TestDriver driver;
114 press_key(6, 0);
115 // BUG: The press is split into two reports
116 // BUG: It reports RSFT instead of LSFT
117 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL)));
118 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL, KC_O)));
119 keyboard_task();
120 release_key(6, 0);
121 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_RSFT, KC_RCTRL)));
122 EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
123 keyboard_task();
88} \ No newline at end of file 124} \ No newline at end of file