Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions tests/dynamic_tapping_term/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Copyright 2026 Arca <arca.artem@gmail.com>
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "test_common.h"
8 changes: 8 additions & 0 deletions tests/dynamic_tapping_term/test.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright 2026 Arca <arca.artem@gmail.com>
# SPDX-License-Identifier: GPL-2.0-or-later

# --------------------------------------------------------------------------------
# Keep this file, even if it is empty, as a marker that this folder contains tests
# --------------------------------------------------------------------------------

DYNAMIC_TAPPING_TERM_ENABLE = yes
49 changes: 49 additions & 0 deletions tests/dynamic_tapping_term/test_dynamic_tapping_term.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// Copyright 2026 Arca <arca.artem@gmail.com>
// SPDX-License-Identifier: GPL-2.0-or-later

#include "test_common.hpp"

using testing::_;

class DynamicTappingTerm : public TestFixture {
public:
~DynamicTappingTerm() override {
g_tapping_term = TAPPING_TERM;
}
};

TEST_F(DynamicTappingTerm, InitialTappingTermMatchesConfiguredDefault) {
EXPECT_EQ(g_tapping_term, TAPPING_TERM);
}

Comment thread
arcaartem marked this conversation as resolved.
Outdated
TEST_F(DynamicTappingTerm, TappingUpRaisesTermByIncrementPerPress) {
TestDriver driver;
KeymapKey up_key = KeymapKey{0, 0, 0, DT_UP};

set_keymap({up_key});
g_tapping_term = TAPPING_TERM;

EXPECT_NO_REPORT(driver);
tap_key(up_key);
EXPECT_EQ(g_tapping_term, TAPPING_TERM + DYNAMIC_TAPPING_TERM_INCREMENT);

tap_key(up_key);
EXPECT_EQ(g_tapping_term, TAPPING_TERM + 2 * DYNAMIC_TAPPING_TERM_INCREMENT);
VERIFY_AND_CLEAR(driver);
}

TEST_F(DynamicTappingTerm, TappingDownLowersTermByIncrementPerPress) {
TestDriver driver;
KeymapKey down_key = KeymapKey{0, 0, 0, DT_DOWN};

set_keymap({down_key});
g_tapping_term = 200;

EXPECT_NO_REPORT(driver);
tap_key(down_key);
EXPECT_EQ(g_tapping_term, 200 - DYNAMIC_TAPPING_TERM_INCREMENT);

tap_key(down_key);
EXPECT_EQ(g_tapping_term, 200 - 2 * DYNAMIC_TAPPING_TERM_INCREMENT);
VERIFY_AND_CLEAR(driver);
}