Forward keypress bug fixed.
This commit is contained in:
@@ -217,6 +217,35 @@ def test_pty_backspace_with_fenrir_key_synthesizes_shortcut_events():
|
||||
assert second_event["data"]["event_state"] == 0
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
@pytest.mark.parametrize(
|
||||
"sequence",
|
||||
[
|
||||
b"\x08",
|
||||
b"\x1b[3~",
|
||||
b"\x1b[3;5~",
|
||||
b"\x1b[27;5;8~",
|
||||
b"\x1b[27;5;127~",
|
||||
b"\x1b[8;5u",
|
||||
b"\x1b[127;5u",
|
||||
],
|
||||
)
|
||||
def test_pty_xterm_backspace_variants_with_fenrir_key_synthesize_shortcut_events(
|
||||
sequence,
|
||||
):
|
||||
pty_driver = PtyDriver()
|
||||
event_queue = Mock()
|
||||
pty_driver.env = {
|
||||
"input": {"curr_input": ["KEY_FENRIR"]},
|
||||
}
|
||||
|
||||
handled = pty_driver.synthesize_backspace_shortcut(sequence, event_queue)
|
||||
|
||||
assert handled is True
|
||||
first_event = event_queue.put.call_args_list[0].args[0]
|
||||
assert first_event["data"]["event_name"] == "KEY_BACKSPACE"
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_pty_plain_backspace_is_not_synthesized():
|
||||
pty_driver = PtyDriver()
|
||||
@@ -229,3 +258,17 @@ def test_pty_plain_backspace_is_not_synthesized():
|
||||
|
||||
assert handled is False
|
||||
event_queue.put.assert_not_called()
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_pty_plain_delete_sequence_is_not_synthesized():
|
||||
pty_driver = PtyDriver()
|
||||
event_queue = Mock()
|
||||
pty_driver.env = {
|
||||
"input": {"curr_input": []},
|
||||
}
|
||||
|
||||
handled = pty_driver.synthesize_backspace_shortcut(b"\x1b[3~", event_queue)
|
||||
|
||||
assert handled is False
|
||||
event_queue.put.assert_not_called()
|
||||
|
||||
@@ -85,6 +85,25 @@ def test_x11_key_name_mapping_for_keypad_and_capslock():
|
||||
assert x11.keysym_name_to_key_name("_") == "KEY_MINUS"
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
@pytest.mark.parametrize(
|
||||
("keysym_name", "key_name"),
|
||||
[
|
||||
("BackSpace", "KEY_BACKSPACE"),
|
||||
("Tab", "KEY_TAB"),
|
||||
("Return", "KEY_ENTER"),
|
||||
("Escape", "KEY_ESC"),
|
||||
("Delete", "KEY_DELETE"),
|
||||
],
|
||||
)
|
||||
def test_x11_special_keysyms_use_symbolic_names(keysym_name, key_name):
|
||||
x11 = X11Driver()
|
||||
resolved_name = x11.keysym_to_name(XK.string_to_keysym(keysym_name))
|
||||
|
||||
assert resolved_name == keysym_name
|
||||
assert x11.keysym_name_to_key_name(resolved_name) == key_name
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
def test_x11_keycode_mapping_prefers_keypad_aliases():
|
||||
x11 = X11Driver()
|
||||
|
||||
Reference in New Issue
Block a user