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