From 5ec21a782202c0d74cf21cb852bd319f0c8b4842 Mon Sep 17 00:00:00 2001 From: Thomas Baart Date: Wed, 19 Dec 2018 23:14:35 +0100 Subject: [PATCH] First attempt at unit tests --- tests/basic/keymap.c | 10 +++++----- tests/test_common/test_driver.cpp | 12 +++++++++++- tests/test_common/test_driver.hpp | 4 ++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/tests/basic/keymap.c b/tests/basic/keymap.c index 3f97c0a0ee..8a52719018 100644 --- a/tests/basic/keymap.c +++ b/tests/basic/keymap.c @@ -23,11 +23,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = { - // 0 1 2 3 4 5 6 7 8 9 - {KC_A, KC_B, KC_NO, KC_LSFT, KC_RSFT, KC_LCTL, COMBO1, SFT_T(KC_P), M(0), 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}, + // 0 1 2 3 4 5 6 7 8 9 + {KC_A, KC_B, KC_NO, KC_LSFT, KC_RSFT, KC_LCTL, COMBO1, SFT_T(KC_P), M(0), KC_NO}, + {KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, OSM(MOD_LSFT), 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/test_common/test_driver.cpp b/tests/test_common/test_driver.cpp index 5113099698..e1a9d8044b 100644 --- a/tests/test_common/test_driver.cpp +++ b/tests/test_common/test_driver.cpp @@ -24,7 +24,9 @@ TestDriver::TestDriver() &TestDriver::send_keyboard, &TestDriver::send_mouse, &TestDriver::send_system, - &TestDriver::send_consumer + &TestDriver::send_consumer, + &TestDriver::oneshot_mods_set_kb, + &TestDriver::oneshot_mods_cleared_kb } { host_set_driver(&m_driver); @@ -55,3 +57,11 @@ void TestDriver::send_system(uint16_t data) { void TestDriver::send_consumer(uint16_t data) { m_this->send_consumer(data); } + +void TestDriver::oneshot_mods_set_kb(uint8_t mods) { + m_this->oneshot_mods_set_kb_mock(mods); +} + +void TestDriver::oneshot_mods_cleared_kb() { + m_this->oneshot_mods_cleared_kb_mock(); +} \ No newline at end of file diff --git a/tests/test_common/test_driver.hpp b/tests/test_common/test_driver.hpp index c3ae17b1a4..46d9ca4087 100644 --- a/tests/test_common/test_driver.hpp +++ b/tests/test_common/test_driver.hpp @@ -33,12 +33,16 @@ public: MOCK_METHOD1(send_mouse_mock, void (report_mouse_t&)); MOCK_METHOD1(send_system_mock, void (uint16_t)); MOCK_METHOD1(send_consumer_mock, void (uint16_t)); + MOCK_METHOD1(oneshot_mods_set_kb, void (uint8_t)); + MOCK_METHOD0(oneshot_mods_cleared_kb, void ()); private: static uint8_t keyboard_leds(void); static void send_keyboard(report_keyboard_t *report); static void send_mouse(report_mouse_t* report); static void send_system(uint16_t data); static void send_consumer(uint16_t data); + static void oneshot_mods_set_kb(uint8_t mods); + static void oneshot_mods_cleared_kb(); host_driver_t m_driver; uint8_t m_leds = 0; static TestDriver* m_this;