summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/tap_hold_configurations/default_mod_tap/config.h2
-rw-r--r--tests/tap_hold_configurations/default_mod_tap/test_tap_hold.cpp2
-rw-r--r--tests/tap_hold_configurations/ignore_mod_tap_interrupt/config.h21
-rw-r--r--tests/tap_hold_configurations/ignore_mod_tap_interrupt/test.mk18
-rw-r--r--tests/tap_hold_configurations/ignore_mod_tap_interrupt/test_tap_hold.cpp136
-rw-r--r--tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp2
-rw-r--r--tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/config.h22
-rw-r--r--tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test.mk18
-rw-r--r--tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp133
9 files changed, 3 insertions, 351 deletions
diff --git a/tests/tap_hold_configurations/default_mod_tap/config.h b/tests/tap_hold_configurations/default_mod_tap/config.h
index 5955b8600a..f22448845e 100644
--- a/tests/tap_hold_configurations/default_mod_tap/config.h
+++ b/tests/tap_hold_configurations/default_mod_tap/config.h
@@ -18,4 +18,4 @@
 
 #include "test_common.h"
 
-#define IGNORE_MOD_TAP_INTERRUPT
\ No newline at end of file
+#define IGNORE_MOD_TAP_INTERRUPT
diff --git a/tests/tap_hold_configurations/default_mod_tap/test_tap_hold.cpp b/tests/tap_hold_configurations/default_mod_tap/test_tap_hold.cpp
index b70efe4aed..01943c10d2 100644
--- a/tests/tap_hold_configurations/default_mod_tap/test_tap_hold.cpp
+++ b/tests/tap_hold_configurations/default_mod_tap/test_tap_hold.cpp
@@ -66,7 +66,7 @@ TEST_F(DefaultTapHold, tap_regular_key_while_mod_tap_key_is_held) {
     testing::Mock::VerifyAndClearExpectations(&driver);
 }
 
-TEST_F(DefaultTapHold, tap_mod_tap_key_while_mod_tap_key_is_held) {
+TEST_F(DefaultTapHold, tap_a_mod_tap_key_while_another_mod_tap_key_is_held) {
     TestDriver driver;
     InSequence s;
     auto       first_mod_tap_hold_key  = KeymapKey(0, 1, 0, SFT_T(KC_P));
diff --git a/tests/tap_hold_configurations/ignore_mod_tap_interrupt/config.h b/tests/tap_hold_configurations/ignore_mod_tap_interrupt/config.h
deleted file mode 100644
index 5955b8600a..0000000000
--- a/tests/tap_hold_configurations/ignore_mod_tap_interrupt/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021 Stefan Kerkmann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "test_common.h"
-
-#define IGNORE_MOD_TAP_INTERRUPT
\ No newline at end of file
diff --git a/tests/tap_hold_configurations/ignore_mod_tap_interrupt/test.mk b/tests/tap_hold_configurations/ignore_mod_tap_interrupt/test.mk
deleted file mode 100644
index efecca2c22..0000000000
--- a/tests/tap_hold_configurations/ignore_mod_tap_interrupt/test.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021 Stefan Kerkmann
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# --------------------------------------------------------------------------------
-# Keep this file, even if it is empty, as a marker that this folder contains tests
-# --------------------------------------------------------------------------------
diff --git a/tests/tap_hold_configurations/ignore_mod_tap_interrupt/test_tap_hold.cpp b/tests/tap_hold_configurations/ignore_mod_tap_interrupt/test_tap_hold.cpp
deleted file mode 100644
index 319de61070..0000000000
--- a/tests/tap_hold_configurations/ignore_mod_tap_interrupt/test_tap_hold.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright 2021 Stefan Kerkmann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "keyboard_report_util.hpp"
-#include "keycode.h"
-#include "test_common.hpp"
-#include "action_tapping.h"
-#include "test_fixture.hpp"
-#include "test_keymap_key.hpp"
-
-using testing::_;
-using testing::InSequence;
-
-class IgnoreModTapInterrupt : public TestFixture {};
-
-TEST_F(IgnoreModTapInterrupt, tap_regular_key_while_mod_tap_key_is_held) {
-    TestDriver driver;
-    InSequence s;
-    auto       mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
-    auto       regular_key      = KeymapKey(0, 2, 0, KC_A);
-
-    set_keymap({mod_tap_hold_key, regular_key});
-
-    /* Press mod-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    mod_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Press regular key */
-    EXPECT_NO_REPORT(driver);
-    regular_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release regular key */
-    EXPECT_NO_REPORT(driver);
-    regular_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release mod-tap-hold key */
-    EXPECT_REPORT(driver, (KC_P));
-    EXPECT_REPORT(driver, (KC_A, KC_P));
-    EXPECT_REPORT(driver, (KC_P));
-    EXPECT_EMPTY_REPORT(driver);
-    mod_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-}
-
-TEST_F(IgnoreModTapInterrupt, tap_mod_tap_key_while_mod_tap_key_is_held) {
-    TestDriver driver;
-    InSequence s;
-    auto       first_mod_tap_hold_key  = KeymapKey(0, 1, 0, SFT_T(KC_P));
-    auto       second_mod_tap_hold_key = KeymapKey(0, 2, 0, RSFT_T(KC_A));
-
-    set_keymap({first_mod_tap_hold_key, second_mod_tap_hold_key});
-
-    /* Press first mod-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    first_mod_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Press second tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    second_mod_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release second tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    second_mod_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release first mod-tap-hold key */
-    EXPECT_REPORT(driver, (KC_P));
-    EXPECT_REPORT(driver, (KC_A, KC_P));
-    EXPECT_REPORT(driver, (KC_P));
-    EXPECT_EMPTY_REPORT(driver);
-    first_mod_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-}
-
-TEST_F(IgnoreModTapInterrupt, tap_regular_key_while_layer_tap_key_is_held) {
-    TestDriver driver;
-    InSequence s;
-    auto       layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P));
-    auto       regular_key        = KeymapKey(0, 2, 0, KC_A);
-    auto       layer_key          = KeymapKey(1, 2, 0, KC_B);
-
-    set_keymap({layer_tap_hold_key, regular_key, layer_key});
-
-    /* Press layer-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    layer_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Press regular key */
-    EXPECT_NO_REPORT(driver);
-    regular_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release regular key */
-    EXPECT_NO_REPORT(driver);
-    regular_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release layer-tap-hold key */
-    EXPECT_REPORT(driver, (KC_P));
-    EXPECT_REPORT(driver, (KC_P, regular_key.report_code));
-    EXPECT_REPORT(driver, (KC_P));
-    EXPECT_EMPTY_REPORT(driver);
-    layer_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-}
diff --git a/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp b/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp
index 74e81f347f..e6ecc86401 100644
--- a/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp
+++ b/tests/tap_hold_configurations/permissive_hold/test_tap_hold.cpp
@@ -60,7 +60,7 @@ TEST_F(PermissiveHold, tap_regular_key_while_mod_tap_key_is_held) {
     testing::Mock::VerifyAndClearExpectations(&driver);
 }
 
-TEST_F(PermissiveHold, tap_mod_tap_key_while_mod_tap_key_is_held) {
+TEST_F(PermissiveHold, tap_a_mod_tap_key_while_another_mod_tap_key_is_held) {
     TestDriver driver;
     InSequence s;
     auto       first_mod_tap_hold_key  = KeymapKey(0, 1, 0, SFT_T(KC_P));
diff --git a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/config.h b/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/config.h
deleted file mode 100644
index a6abd50bbe..0000000000
--- a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Stefan Kerkmann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "test_common.h"
-
-#define IGNORE_MOD_TAP_INTERRUPT
-#define PERMISSIVE_HOLD
\ No newline at end of file
diff --git a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test.mk b/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test.mk
deleted file mode 100644
index efecca2c22..0000000000
--- a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2021 Stefan Kerkmann
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# --------------------------------------------------------------------------------
-# Keep this file, even if it is empty, as a marker that this folder contains tests
-# --------------------------------------------------------------------------------
diff --git a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp b/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp
deleted file mode 100644
index ee7e707c94..0000000000
--- a/tests/tap_hold_configurations/permissive_hold_ignore_mod_tap_interrupt/test_tap_hold.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-
-/* Copyright 2021 Stefan Kerkmann
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "keyboard_report_util.hpp"
-#include "keycode.h"
-#include "test_common.hpp"
-#include "action_tapping.h"
-#include "test_fixture.hpp"
-#include "test_keymap_key.hpp"
-
-using testing::_;
-using testing::InSequence;
-
-class PermissiveHold_IgnoreModTapInterrupt : public TestFixture {};
-
-TEST_F(PermissiveHold_IgnoreModTapInterrupt, tap_regular_key_while_mod_tap_key_is_held) {
-    TestDriver driver;
-    InSequence s;
-    auto       mod_tap_hold_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
-    auto       regular_key      = KeymapKey(0, 2, 0, KC_A);
-
-    set_keymap({mod_tap_hold_key, regular_key});
-
-    /* Press mod-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    mod_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Press regular key */
-    EXPECT_NO_REPORT(driver);
-    regular_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release regular key */
-    EXPECT_REPORT(driver, (KC_LSFT));
-    EXPECT_REPORT(driver, (KC_LSFT, KC_A));
-    EXPECT_REPORT(driver, (KC_LSFT));
-    regular_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release mod-tap-hold key */
-    EXPECT_EMPTY_REPORT(driver);
-    mod_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-}
-
-TEST_F(PermissiveHold_IgnoreModTapInterrupt, tap_mod_tap_key_while_mod_tap_key_is_held) {
-    TestDriver driver;
-    InSequence s;
-    auto       first_mod_tap_hold_key  = KeymapKey(0, 1, 0, SFT_T(KC_P));
-    auto       second_mod_tap_hold_key = KeymapKey(0, 2, 0, RSFT_T(KC_A));
-
-    set_keymap({first_mod_tap_hold_key, second_mod_tap_hold_key});
-
-    /* Press first mod-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    first_mod_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Press second tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    second_mod_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release second tap-hold key */
-    EXPECT_REPORT(driver, (KC_LSFT));
-    EXPECT_REPORT(driver, (KC_LSFT, KC_A));
-    EXPECT_REPORT(driver, (KC_LSFT));
-    second_mod_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release first mod-tap-hold key */
-    EXPECT_EMPTY_REPORT(driver);
-    first_mod_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-}
-
-TEST_F(PermissiveHold_IgnoreModTapInterrupt, tap_regular_key_while_layer_tap_key_is_held) {
-    TestDriver driver;
-    InSequence s;
-    auto       layer_tap_hold_key = KeymapKey(0, 1, 0, LT(1, KC_P));
-    auto       regular_key        = KeymapKey(0, 2, 0, KC_A);
-    auto       layer_key          = KeymapKey(1, 2, 0, KC_B);
-
-    set_keymap({layer_tap_hold_key, regular_key, layer_key});
-
-    /* Press layer-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    layer_tap_hold_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Press regular key */
-    EXPECT_NO_REPORT(driver);
-    regular_key.press();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release regular key */
-    EXPECT_REPORT(driver, (KC_B));
-    EXPECT_EMPTY_REPORT(driver);
-    regular_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-
-    /* Release layer-tap-hold key */
-    EXPECT_NO_REPORT(driver);
-    layer_tap_hold_key.release();
-    run_one_scan_loop();
-    testing::Mock::VerifyAndClearExpectations(&driver);
-}