diff options
| author | Stefan Kerkmann <karlk90@pm.me> | 2022-12-14 16:31:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-15 02:31:08 +1100 |
| commit | 962e4c0e1854b10612bab547c3d842c5f967dd23 (patch) | |
| tree | dfe13a5a7d3f593452a1e77b5c4173263d3fb2e2 /tests/basic/test_keycode_util.cpp | |
| parent | e2ab98f9601049a7540bd89cb128669b09c688d5 (diff) | |
[Test] Reset timer for every unit test and provide timestamps for log messages (#17028)
Diffstat (limited to 'tests/basic/test_keycode_util.cpp')
| -rw-r--r-- | tests/basic/test_keycode_util.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/basic/test_keycode_util.cpp b/tests/basic/test_keycode_util.cpp new file mode 100644 index 0000000000..693334676e --- /dev/null +++ b/tests/basic/test_keycode_util.cpp | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | // Copyright 2022 Stefan Kerkmann | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include "test_common.hpp" | ||
| 5 | |||
| 6 | class KeycodeToIdentifierSuite : public ::testing::TestWithParam<std::pair<std::uint16_t, std::string>> {}; | ||
| 7 | |||
| 8 | TEST_P(KeycodeToIdentifierSuite, ConversionTests) { | ||
| 9 | ASSERT_EQ(get_keycode_identifier_or_default(GetParam().first), GetParam().second); | ||
| 10 | } | ||
| 11 | |||
| 12 | INSTANTIATE_TEST_CASE_P(ConversionTestsP, KeycodeToIdentifierSuite, | ||
| 13 | // clang-format off | ||
| 14 | ::testing::Values( | ||
| 15 | // Goto layer | ||
| 16 | std::make_pair(TO(0), "TO(0)"), | ||
| 17 | std::make_pair(TO(0x1F), "TO(31)"), | ||
| 18 | // Momentary switch layer | ||
| 19 | std::make_pair(MO(0), "MO(0)"), | ||
| 20 | std::make_pair(MO(0x1F), "MO(31)"), | ||
| 21 | // Set default layer | ||
| 22 | std::make_pair(DF(0), "DF(0)"), | ||
| 23 | std::make_pair(DF(0x1F), "DF(31)"), | ||
| 24 | // Toggle layer | ||
| 25 | std::make_pair(TG(0), "TG(0)"), | ||
| 26 | std::make_pair(TG(0x1F), "TG(31)"), | ||
| 27 | // One-shot layer | ||
| 28 | std::make_pair(OSL(0), "OSL(0)"), | ||
| 29 | std::make_pair(OSL(0x1F), "OSL(31)"), | ||
| 30 | // One-shot mod | ||
| 31 | std::make_pair(OSM(MOD_LSFT), "OSM(MOD_LSFT)"), | ||
| 32 | std::make_pair(OSM(MOD_LSFT | MOD_LCTL), "OSM(MOD_LCTL | MOD_LSFT)"), | ||
| 33 | // Layer Mod | ||
| 34 | std::make_pair(LM(0, MOD_LSFT), "LM(0, MOD_LSFT)"), | ||
| 35 | std::make_pair(LM(0xF, MOD_LSFT), "LM(15, MOD_LSFT)"), | ||
| 36 | std::make_pair(LM(0xF, MOD_LSFT | MOD_LCTL), "LM(15, MOD_LCTL | MOD_LSFT)"), | ||
| 37 | // Layer tap toggle | ||
| 38 | std::make_pair(TT(0), "TT(0)"), | ||
| 39 | std::make_pair(TT(0x1F), "TT(31)"), | ||
| 40 | // Layer tap | ||
| 41 | std::make_pair(LT(0, KC_A), "LT(0, KC_A)"), | ||
| 42 | std::make_pair(LT(0xF, KC_SPACE), "LT(15, KC_SPACE)"), | ||
| 43 | std::make_pair(LT(1, KC_SPC), "LT(1, KC_SPACE)"), | ||
| 44 | // Mod tap | ||
| 45 | std::make_pair(MT(MOD_LCTL, KC_A), "MT(MOD_LCTL, KC_A)"), | ||
| 46 | std::make_pair(MT(MOD_LCTL | MOD_LSFT, KC_A), "MT(MOD_LCTL | MOD_LSFT, KC_A)"), | ||
| 47 | std::make_pair(ALT_T(KC_TAB), "MT(MOD_LALT, KC_TAB)"), | ||
| 48 | // Mods | ||
| 49 | std::make_pair(LCTL(KC_A), "QK_MODS(KC_A, QK_LCTL)"), | ||
| 50 | std::make_pair(HYPR(KC_SPACE), "QK_MODS(KC_SPACE, QK_LCTL | QK_LSFT | QK_LALT | QK_LGUI)") | ||
| 51 | )); | ||
| 52 | // clang-format on | ||
