Tests that caps word stays active after use of OSL (#19303)
This commit is contained in:
parent
008f1312bb
commit
454edf68d1
|
@ -591,6 +591,57 @@ INSTANTIATE_TEST_CASE_P(
|
||||||
),
|
),
|
||||||
CapsWordDoubleTapShiftParams::GetName
|
CapsWordDoubleTapShiftParams::GetName
|
||||||
);
|
);
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
|
// Tests that holding a OSL keeps caps word active and shifts keys on the layer that need to be shifted.
|
||||||
|
TEST_F(CapsWord, IgnoresOSLHold) {
|
||||||
|
TestDriver driver;
|
||||||
|
KeymapKey key_a(0, 0, 0, KC_A);
|
||||||
|
KeymapKey key_osl(0, 1, 0, OSL(1));
|
||||||
|
KeymapKey key_b(1, 0, 0, KC_B);
|
||||||
|
set_keymap({key_a, key_osl, key_b});
|
||||||
|
|
||||||
|
// Allow any number of reports with no keys or only modifiers.
|
||||||
|
// clang-format off
|
||||||
|
EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
|
||||||
|
KeyboardReport(),
|
||||||
|
KeyboardReport(KC_LSFT))))
|
||||||
|
.Times(AnyNumber());
|
||||||
|
|
||||||
|
EXPECT_REPORT(driver, (KC_LSFT, KC_B));
|
||||||
|
caps_word_on();
|
||||||
|
|
||||||
|
key_osl.press();
|
||||||
|
run_one_scan_loop();
|
||||||
|
tap_key(key_b);
|
||||||
|
key_osl.release();
|
||||||
|
run_one_scan_loop();
|
||||||
|
|
||||||
|
testing::Mock::VerifyAndClearExpectations(&driver);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tests that tapping a OSL keeps caps word active and shifts keys on the layer that need to be shifted.
|
||||||
|
TEST_F(CapsWord, IgnoresOSLTap) {
|
||||||
|
TestDriver driver;
|
||||||
|
KeymapKey key_a(0, 0, 0, KC_A);
|
||||||
|
KeymapKey key_osl(0, 1, 0, OSL(1));
|
||||||
|
KeymapKey key_b(1, 0, 0, KC_B);
|
||||||
|
set_keymap({key_a, key_osl, key_b});
|
||||||
|
|
||||||
|
// Allow any number of reports with no keys or only modifiers.
|
||||||
|
// clang-format off
|
||||||
|
EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
|
||||||
|
KeyboardReport(),
|
||||||
|
KeyboardReport(KC_LSFT))))
|
||||||
|
.Times(AnyNumber());
|
||||||
|
|
||||||
|
EXPECT_REPORT(driver, (KC_LSFT, KC_B));
|
||||||
|
caps_word_on();
|
||||||
|
|
||||||
|
tap_key(key_osl);
|
||||||
|
tap_key(key_b);
|
||||||
|
run_one_scan_loop();
|
||||||
|
|
||||||
|
testing::Mock::VerifyAndClearExpectations(&driver);
|
||||||
|
}
|
||||||
|
// clang-format on
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
Loading…
Reference in New Issue