summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Sundvik <fsundvik@gmail.com>2017-06-27 00:13:21 +0300
committerJack Humbert <jack.humb@gmail.com>2017-07-08 21:59:51 -0400
commit72c8df1f190d34d4eb48e9f06d13c9a4de566716 (patch)
tree2f8599a7aeff25d90be729159d556622d9a373d8
parent1e4cc36e14d711d2fc755354f9b6fd80c9728882 (diff)
A bigger test matrix, and test for unmapped keys
-rw-r--r--tests/basic/config.h4
-rw-r--r--tests/basic/keymap.c8
-rw-r--r--tests/basic/keypress.cpp11
3 files changed, 18 insertions, 5 deletions
diff --git a/tests/basic/config.h b/tests/basic/config.h
index 4da8d04253..a52d8a4fa0 100644
--- a/tests/basic/config.h
+++ b/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_ */
diff --git a/tests/basic/keymap.c b/tests/basic/keymap.c
index 2afb4d6a96..c0e0dfb499 100644
--- a/tests/basic/keymap.c
+++ b/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},
},
};
diff --git a/tests/basic/keypress.cpp b/tests/basic/keypress.cpp
index f574481f24..2b8b96b228 100644
--- a/tests/basic/keypress.cpp
+++ b/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();
+} \ No newline at end of file