12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #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 AutoShift : public TestFixture {};
- TEST_F(AutoShift, key_release_before_timeout) {
- TestDriver driver;
- InSequence s;
- auto regular_key = KeymapKey(0, 2, 0, KC_A);
- set_keymap({regular_key});
-
- EXPECT_NO_REPORT(driver);
- regular_key.press();
- run_one_scan_loop();
- testing::Mock::VerifyAndClearExpectations(&driver);
-
- EXPECT_REPORT(driver, (KC_A));
- EXPECT_EMPTY_REPORT(driver);
- regular_key.release();
- run_one_scan_loop();
- testing::Mock::VerifyAndClearExpectations(&driver);
- }
- TEST_F(AutoShift, key_release_after_timeout) {
- TestDriver driver;
- InSequence s;
- auto regular_key = KeymapKey(0, 2, 0, KC_A);
- set_keymap({regular_key});
-
- EXPECT_NO_REPORT(driver);
- regular_key.press();
- idle_for(AUTO_SHIFT_TIMEOUT);
- testing::Mock::VerifyAndClearExpectations(&driver);
-
- EXPECT_REPORT(driver, (KC_LSFT, KC_A));
- EXPECT_REPORT(driver, (KC_LSFT));
- EXPECT_EMPTY_REPORT(driver);
- regular_key.release();
- run_one_scan_loop();
- testing::Mock::VerifyAndClearExpectations(&driver);
- }
|