| from support.refine import get_keys, filter_dict, get_events |
| |
| |
| def test_no_actions_send_no_events(session, key_reporter, key_chain): |
| key_chain.perform() |
| assert len(get_keys(key_reporter)) == 0 |
| assert len(get_events(session)) == 0 |
| |
| |
| def test_release_char_sequence_sends_keyup_events_in_reverse(session, |
| key_reporter, |
| key_chain): |
| key_chain \ |
| .key_down("a") \ |
| .key_down("b") \ |
| .perform() |
| # reset so we only see the release events |
| session.execute_script("resetEvents();") |
| session.actions.release() |
| expected = [ |
| {"code": "KeyB", "key": "b", "type": "keyup"}, |
| {"code": "KeyA", "key": "a", "type": "keyup"}, |
| ] |
| events = [filter_dict(e, expected[0]) for e in get_events(session)] |
| assert events == expected |
| |
| |
| def test_release_no_actions_sends_no_events(session, key_reporter): |
| session.actions.release() |
| assert len(get_keys(key_reporter)) == 0 |
| assert len(get_events(session)) == 0 |