Пример #1
0
def test_save_default_layout(config: KeyboardConfigurator, tmpdir):
    target = tmpdir.join('keyboard_layout.conf')
    config.save_default_layout(str(target))

    expected_content = textwrap.dedent('''
        forward     w
        backward    DOWN sc_39
        left
    ''').strip() + '\n'

    assert target.read() == expected_content
Пример #2
0
def test_save_default_layout_verbose(config: KeyboardConfigurator, tmpdir):
    target = tmpdir.join('keyboard_layout.conf')
    config.save_default_layout(str(target), verbose=True)

    expected_content = textwrap.dedent('''
        forward     w           # Move forward
        backward    DOWN sc_39
        left
    ''').strip() + '\n'

    content = target.read()

    assert content == expected_content
Пример #3
0
def test_load_layout_help(config: KeyboardConfigurator, layout_file):
    layout = config.load_layout(layout_file)

    assert layout.help == [
        ('Move forward', 'UP, KP8'),
        ('backward', '<unassigned>'),
        ('left', 'sc_38'),
    ]
Пример #4
0
def test_default_layout_help(config: KeyboardConfigurator):
    layout = config.default_layout()

    assert layout.help == [
        ('Move forward', 'w'),
        ('backward', 'DOWN, sc_39'),
        ('left', '<unassigned>'),
    ]
Пример #5
0
def test_default_layout_fails_for_duplicate_mappings(actions):
    with pytest.raises(ConfigurationError):
        KeyboardConfigurator(actions).default_layout()
Пример #6
0
def test_default_layout_fails_to_parse_for_invalid_bindings(binding):
    with pytest.raises(ConfigurationError):
        KeyboardConfigurator([Action('foo',
                                     defaults=[binding])]).default_layout()
Пример #7
0
def test_load_layout(config: KeyboardConfigurator, layout_file, key, scancode,
                     expected_action):
    layout = config.load_layout(layout_file)

    assert layout.action_by_key_or_scancode(key, scancode) == expected_action
Пример #8
0
def test_default_layout(config: KeyboardConfigurator, key, scancode,
                        expected_action):
    layout = config.default_layout()

    assert layout.action_by_key_or_scancode(key, scancode) == expected_action
Пример #9
0
def config():
    return KeyboardConfigurator([
        Action('forward', defaults=['w'], description='Move forward'),
        Action('backward', defaults=['DOWN', 'sc_39']),
        Action('left', defaults=[]),
    ])
Пример #10
0
def test_fails_on_duplicate_action():
    with pytest.raises(ConfigurationError):
        KeyboardConfigurator([Action('foo'), Action('foo')])