Browse Source

A bigger test matrix, and test for unmapped keys

Fred Sundvik 8 years ago
parent
commit
72c8df1f19
3 changed files with 18 additions and 5 deletions
  1. 2 2
      tests/basic/config.h
  2. 6 2
      tests/basic/keymap.c
  3. 10 1
      tests/basic/keypress.cpp

+ 2 - 2
tests/basic/config.h

@@ -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_ */

+ 6 - 2
tests/basic/keymap.c

@@ -16,9 +16,13 @@
 
 #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},
 	},
 };

+ 10 - 1
tests/basic/keypress.cpp

@@ -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();
+}