]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
A bigger test matrix, and test for unmapped keys
authorFred Sundvik <fsundvik@gmail.com>
Mon, 26 Jun 2017 21:13:21 +0000 (00:13 +0300)
committerJack Humbert <jack.humb@gmail.com>
Sun, 9 Jul 2017 01:59:51 +0000 (21:59 -0400)
tests/basic/config.h
tests/basic/keymap.c
tests/basic/keypress.cpp

index 4da8d0425308cd596a59800bc3d3c5afafd08e40..a52d8a4fa01c5851dbe93e9cdb717f29caab7692 100644 (file)
@@ -17,8 +17,8 @@
 #ifndef TESTS_BASIC_CONFIG_H_
 #define TESTS_BASIC_CONFIG_H_
 
-#define MATRIX_ROWS 2
-#define MATRIX_COLS 2
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 10
 
 
 #endif /* TESTS_BASIC_CONFIG_H_ */
index 2afb4d6a964b9aa5521cdbc60d13cd7917e7c8c2..c0e0dfb4994f4b64ef6366feefc22da325473d3c 100644 (file)
 
 #include "quantum.h"
 
+// Don't rearrange keys as existing tests might rely on the order
+// Col2, Row 0 has to be KC_NO, because tests rely on it
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        [0] = {
-           {KC_A, KC_B},
-           {KC_C, KC_D}
+           {KC_A,  KC_B,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
+           {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
+           {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
+           {KC_C,  KC_D,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO},
        },
 };
index f574481f2400094026d94f6e8235a49dc90d6595..2b8b96b228de0fa2402e213e19aef29504d8cd7f 100644 (file)
@@ -44,10 +44,19 @@ TEST_F(KeyPress, CorrectKeyIsReportedWhenPressed) {
 TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) {
     TestDriver driver;
     press_key(1, 0);
-    press_key(0, 1);
+    press_key(0, 3);
     //Note that QMK only processes one key at a time
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B)));
     keyboard_task();
     EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_B, KC_C)));
     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();
+}
\ No newline at end of file