From bd7e54a31dbf54cf4e3e183173cb2b29ba403483 Mon Sep 17 00:00:00 2001 From: Pascal Getreuer Date: Sun, 10 Nov 2024 21:01:06 -0800 Subject: [PATCH] Tighten tests. --- .../hold_on_other_key_press/test_tap_hold.cpp | 24 ++++++++----- .../permissive_hold/test_tap_hold.cpp | 36 ++++++++++++------- 2 files changed, 40 insertions(+), 20 deletions(-) diff --git a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp b/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp index 4c6ebfec7f4..a6281ad32b7 100644 --- a/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp +++ b/tests/tap_hold_configurations/chordal_hold/hold_on_other_key_press/test_tap_hold.cpp @@ -107,12 +107,15 @@ TEST_F(ChordalHoldHoldOnOtherKeyPress, chord_rolled_press_settled_as_hold) { run_one_scan_loop(); VERIFY_AND_CLEAR(driver); - // Press regular key and release mod-tap key. + // Press regular key. EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_A)); - EXPECT_REPORT(driver, (KC_A)); regular_key.press(); run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + // Release mod-tap key. + EXPECT_REPORT(driver, (KC_A)); mod_tap_key.release(); run_one_scan_loop(); VERIFY_AND_CLEAR(driver); @@ -210,16 +213,21 @@ TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_taps_nested_press_opposite_hands) run_one_scan_loop(); VERIFY_AND_CLEAR(driver); - // Tap second mod-tap key. + // Press second mod-tap key. EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_EMPTY_REPORT(driver); mod_tap_key2.press(); run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + // Release second mod-tap key. + EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); + EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); mod_tap_key2.release(); run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + // Release first mod-tap key. + EXPECT_EMPTY_REPORT(driver); mod_tap_key1.release(); run_one_scan_loop(); VERIFY_AND_CLEAR(driver); @@ -237,6 +245,8 @@ TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_taps_nested_press_same_hand) { EXPECT_NO_REPORT(driver); mod_tap_key1.press(); run_one_scan_loop(); + mod_tap_key2.press(); + run_one_scan_loop(); VERIFY_AND_CLEAR(driver); // Release mod-tap keys. @@ -244,8 +254,6 @@ TEST_F(ChordalHoldHoldOnOtherKeyPress, two_mod_taps_nested_press_same_hand) { EXPECT_REPORT(driver, (KC_A, KC_B)); EXPECT_REPORT(driver, (KC_A)); EXPECT_EMPTY_REPORT(driver); - mod_tap_key2.press(); - run_one_scan_loop(); mod_tap_key2.release(); run_one_scan_loop(); mod_tap_key1.release(); diff --git a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp b/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp index b13b17286c9..efa5aeab9d1 100644 --- a/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp +++ b/tests/tap_hold_configurations/chordal_hold/permissive_hold/test_tap_hold.cpp @@ -109,18 +109,18 @@ TEST_F(ChordalHoldPermissiveHold, chord_rolled_press_settled_as_tap) { set_keymap({mod_tap_key, regular_key}); - // Press mod-tap key. + // Press mod-tap key and regular key. EXPECT_NO_REPORT(driver); mod_tap_key.press(); run_one_scan_loop(); + regular_key.press(); + run_one_scan_loop(); VERIFY_AND_CLEAR(driver); - // Press regular key and release mod-tap key. + // Release mod-tap key. EXPECT_REPORT(driver, (KC_P)); EXPECT_REPORT(driver, (KC_P, KC_A)); EXPECT_REPORT(driver, (KC_A)); - regular_key.press(); - run_one_scan_loop(); mod_tap_key.release(); run_one_scan_loop(); VERIFY_AND_CLEAR(driver); @@ -147,11 +147,16 @@ TEST_F(ChordalHoldPermissiveHold, non_chord_with_mod_tap_settled_as_tap) { run_one_scan_loop(); VERIFY_AND_CLEAR(driver); - // Tap regular key. + // Press regular key. EXPECT_REPORT(driver, (KC_P)); EXPECT_REPORT(driver, (KC_P, KC_A)); + regular_key.press(); + run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + // Release regular key. EXPECT_REPORT(driver, (KC_P)); - tap_key(regular_key); + regular_key.release(); run_one_scan_loop(); VERIFY_AND_CLEAR(driver); @@ -611,12 +616,7 @@ TEST_F(ChordalHoldPermissiveHold, two_mod_taps_one_regular_key) { VERIFY_AND_CLEAR(driver); // Press mod-tap keys. - EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); - EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); - EXPECT_REPORT(driver, (KC_B)); - EXPECT_EMPTY_REPORT(driver); + EXPECT_NO_REPORT(driver); idle_for(TAPPING_TERM); mod_tap_key1.press(); run_one_scan_loop(); @@ -624,11 +624,23 @@ TEST_F(ChordalHoldPermissiveHold, two_mod_taps_one_regular_key) { run_one_scan_loop(); regular_key.press(); run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + // Release keys. + EXPECT_REPORT(driver, (KC_LEFT_SHIFT)); + EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); + EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B, KC_C)); + EXPECT_REPORT(driver, (KC_LEFT_SHIFT, KC_B)); regular_key.release(); run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + EXPECT_REPORT(driver, (KC_B)); mod_tap_key1.release(); run_one_scan_loop(); + VERIFY_AND_CLEAR(driver); + + EXPECT_EMPTY_REPORT(driver); mod_tap_key2.release(); run_one_scan_loop(); VERIFY_AND_CLEAR(driver);