summaryrefslogtreecommitdiff
path: root/tests/test_common/test_fixture.cpp
diff options
context:
space:
mode:
authorDrashna Jael're <drashna@live.com>2022-11-08 17:14:27 -0800
committerDrashna Jael're <drashna@live.com>2022-11-08 17:14:27 -0800
commit64f04b30c2f48fc0e7c49ca043443f03dc56df94 (patch)
treee0f374d3b92bacefd22c31e7bda8ee1c6fcb37de /tests/test_common/test_fixture.cpp
parentd9f575fa86ca10b990958d4e677c6a0a387dc7c3 (diff)
parent96c48a5f4aa461ed31fd4ee61151ac206e16fb5f (diff)
Merge tag '0.18.16' into firmware22
Diffstat (limited to 'tests/test_common/test_fixture.cpp')
-rw-r--r--tests/test_common/test_fixture.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_common/test_fixture.cpp b/tests/test_common/test_fixture.cpp
index 5fc6964054..44694cd390 100644
--- a/tests/test_common/test_fixture.cpp
+++ b/tests/test_common/test_fixture.cpp
@@ -108,6 +108,22 @@ void TestFixture::tap_key(KeymapKey key, unsigned delay_ms) {
run_one_scan_loop();
}
+void TestFixture::tap_combo(const std::vector<KeymapKey>& chord_keys, unsigned delay_ms) {
+ for (KeymapKey key : chord_keys) { // Press each key.
+ key.press();
+ run_one_scan_loop();
+ }
+
+ if (delay_ms > 1) {
+ idle_for(delay_ms - 1);
+ }
+
+ for (KeymapKey key : chord_keys) { // Release each key.
+ key.release();
+ run_one_scan_loop();
+ }
+}
+
void TestFixture::set_keymap(std::initializer_list<KeymapKey> keys) {
this->keymap.clear();
for (auto& key : keys) {