]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tests/basic/keypress.cpp
Improve the tests a bit
[qmk_firmware.git] / tests / basic / keypress.cpp
index 2b8b96b228de0fa2402e213e19aef29504d8cd7f..e2cc7279fb91c0229da46f1b7af66de7f38fdddb 100644 (file)
@@ -39,6 +39,9 @@ TEST_F(KeyPress, CorrectKeyIsReportedWhenPressed) {
     press_key(0, 0);
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_A)));
     keyboard_task();
+    release_key(0, 0);
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
+    keyboard_task();
 }
 
 TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) {
@@ -50,12 +53,18 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) {
     keyboard_task();
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B, KC_C)));
     keyboard_task();
+    release_key(1, 0);
+    release_key(0, 3);
+    //Note that the first key released is the first one in the matrix order
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_C)));
+    keyboard_task();
+    EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport()));
+    keyboard_task();
 }
 
 TEST_F(KeyPress, ANonMappedKeyDoesNothing) {
     TestDriver driver;
     press_key(2, 0);
-    //Note that QMK only processes one key at a time
     EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0);
     keyboard_task();
     keyboard_task();