aboutsummaryrefslogtreecommitdiff
path: root/tests/repeat_key
diff options
context:
space:
mode:
Diffstat (limited to 'tests/repeat_key')
-rw-r--r--tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp2
-rw-r--r--tests/repeat_key/test.mk1
-rw-r--r--tests/repeat_key/test_repeat_key.cpp33
3 files changed, 35 insertions, 1 deletions
diff --git a/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp b/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp
index ae525acb45..e2eed3dbb6 100644
--- a/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp
+++ b/tests/repeat_key/alt_repeat_key/test_alt_repeat_key.cpp
@@ -210,7 +210,7 @@ TEST_F(AltRepeatKey, GetAltRepeatKeyKeycode) {
{MO(1), 0, KC_NO},
// clang-format on
})) {
- SCOPED_TRACE(std::string("Input keycode: ") + get_keycode_identifier_or_default(params.keycode));
+ SCOPED_TRACE(std::string("Input keycode: ") + get_keycode_string(params.keycode));
set_last_keycode(params.keycode);
set_last_mods(params.mods);
diff --git a/tests/repeat_key/test.mk b/tests/repeat_key/test.mk
index aec8ff3bfb..186207ffc2 100644
--- a/tests/repeat_key/test.mk
+++ b/tests/repeat_key/test.mk
@@ -16,3 +16,4 @@
REPEAT_KEY_ENABLE = yes
AUTO_SHIFT_ENABLE = yes
+LAYER_LOCK_ENABLE = yes
diff --git a/tests/repeat_key/test_repeat_key.cpp b/tests/repeat_key/test_repeat_key.cpp
index eee44fc104..ed5d618761 100644
--- a/tests/repeat_key/test_repeat_key.cpp
+++ b/tests/repeat_key/test_repeat_key.cpp
@@ -751,4 +751,37 @@ TEST_F(RepeatKey, RepeatKeyInvoke) {
testing::Mock::VerifyAndClearExpectations(&driver);
}
+// Check that mods and Layer Lock are not remembered.
+TEST_F(RepeatKey, IgnoredKeys) {
+ TestDriver driver;
+ KeymapKey regular_key(0, 0, 0, KC_A);
+ KeymapKey key_repeat(0, 1, 0, QK_REP);
+ KeymapKey key_lsft(0, 2, 0, KC_LSFT);
+ KeymapKey key_lctl(0, 3, 0, KC_LCTL);
+ KeymapKey key_llck(0, 4, 0, QK_LAYER_LOCK);
+ set_keymap({regular_key, key_repeat, key_lsft, key_lctl, key_llck});
+
+ // Allow any number of empty reports.
+ EXPECT_EMPTY_REPORT(driver).Times(AnyNumber());
+ {
+ InSequence seq;
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_REPORT(driver, (KC_LSFT));
+ EXPECT_REPORT(driver, (KC_LCTL));
+ EXPECT_REPORT(driver, (KC_A));
+ EXPECT_REPORT(driver, (KC_A));
+ }
+
+ tap_key(regular_key); // Taps the KC_A key.
+
+ // Tap Shift, Ctrl, and Layer Lock keys, which should not be remembered.
+ tap_keys(key_lsft, key_lctl, key_llck);
+ EXPECT_KEYCODE_EQ(get_last_keycode(), KC_A);
+
+ // Tapping the Repeat Key should still reproduce KC_A.
+ tap_keys(key_repeat, key_repeat);
+
+ testing::Mock::VerifyAndClearExpectations(&driver);
+}
+
} // namespace