From 72c8df1f190d34d4eb48e9f06d13c9a4de566716 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Tue, 27 Jun 2017 00:13:21 +0300 Subject: A bigger test matrix, and test for unmapped keys --- tests/basic/config.h | 4 ++-- tests/basic/keymap.c | 8 ++++++-- tests/basic/keypress.cpp | 11 ++++++++++- 3 files changed, 18 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/basic/config.h b/tests/basic/config.h index 4da8d0425..a52d8a4fa 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 2afb4d6a9..c0e0dfb49 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 f574481f2..2b8b96b22 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 -- cgit v1.2.3-24-g4f1b