diff options
Diffstat (limited to 'testing/web-platform/tests/webdriver/actions/sequence.py')
-rw-r--r-- | testing/web-platform/tests/webdriver/actions/sequence.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webdriver/actions/sequence.py b/testing/web-platform/tests/webdriver/actions/sequence.py new file mode 100644 index 000000000..960b800df --- /dev/null +++ b/testing/web-platform/tests/webdriver/actions/sequence.py @@ -0,0 +1,31 @@ +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 |