]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tests/basic/keypress.cpp
Add simple modifier test
[qmk_firmware.git] / tests / basic / keypress.cpp
index e2cc7279fb91c0229da46f1b7af66de7f38fdddb..4424e86965df90be0a9b5ab9441ce250de037973 100644 (file)
@@ -68,4 +68,21 @@ TEST_F(KeyPress, ANonMappedKeyDoesNothing) {
     EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0);
     keyboard_task();
     keyboard_task();
+}
+
+TEST_F(KeyPress, LeftShiftIsReportedCorrectly) {
+    TestDriver driver;
+    press_key(3, 0);
+    press_key(0, 0);
+    // Unfortunately modifiers are also processed in the wrong order
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A)));
+    keyboard_task();
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A, KC_LSFT)));
+    keyboard_task();
+    release_key(0, 0);
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT)));
+    keyboard_task();
+    release_key(3, 0);
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
+    keyboard_task();
 }
\ No newline at end of file