Implement autoshift module
This commit is contained in:
91
tests/test_autoshift.py
Normal file
91
tests/test_autoshift.py
Normal file
@@ -0,0 +1,91 @@
|
||||
import unittest
|
||||
|
||||
from kmk.keys import KC
|
||||
from kmk.modules.autoshift import Autoshift
|
||||
from tests.keyboard_test import KeyboardTest
|
||||
|
||||
tap_time = 3 * KeyboardTest.loop_delay_ms
|
||||
t_after = 4 * KeyboardTest.loop_delay_ms
|
||||
|
||||
|
||||
class TestAutoshift(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.kb = KeyboardTest(
|
||||
[Autoshift(tap_time=tap_time)],
|
||||
[
|
||||
[
|
||||
KC.A,
|
||||
KC.N1,
|
||||
KC.HASH,
|
||||
KC.NO,
|
||||
]
|
||||
],
|
||||
debug_enabled=False,
|
||||
)
|
||||
|
||||
def test_tap_alpha(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(0, True), (0, False)],
|
||||
[{KC.A}, {}],
|
||||
)
|
||||
|
||||
def test_hold_alpha(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(0, True), t_after, (0, False)],
|
||||
[{KC.A, KC.LSHIFT}, {}],
|
||||
)
|
||||
|
||||
def test_hold_num(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(1, True), t_after, (1, False)],
|
||||
[{KC.N1}, {}],
|
||||
)
|
||||
|
||||
def test_hold_alpha_tap_num_within(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(0, True), (1, True), t_after, (1, False), (0, False)],
|
||||
[{KC.A}, {KC.A, KC.N1}, {KC.A}, {}],
|
||||
)
|
||||
|
||||
def test_hold_alpha_tap_num_after(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(0, True), t_after, (1, True), (1, False), (0, False)],
|
||||
[{KC.A, KC.LSHIFT}, {KC.A, KC.N1}, {KC.A}, {}],
|
||||
)
|
||||
|
||||
def test_hold_num_hold_alpha(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(1, True), (0, True), t_after, (0, False), (1, False)],
|
||||
[{KC.N1}, {KC.N1, KC.A, KC.LSHIFT}, {KC.N1}, {}],
|
||||
)
|
||||
|
||||
def test_roll_num_hold_alpha(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(1, True), (0, True), (1, False), t_after, (0, False)],
|
||||
[{KC.N1}, {}, {KC.A, KC.LSHIFT}, {}],
|
||||
)
|
||||
|
||||
def test_hold_shifted_hold_alpha(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(2, True), (0, True), t_after, (2, False), (0, False)],
|
||||
[{KC.LSHIFT, KC.HASH}, {KC.LSHIFT, KC.HASH, KC.A}, {KC.A}, {}],
|
||||
)
|
||||
|
||||
def test_hold_internal(self):
|
||||
self.kb.test(
|
||||
'',
|
||||
[(3, True), t_after, (3, False)],
|
||||
[],
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Reference in New Issue
Block a user