summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webdriver/actions/sequence.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webdriver/actions/sequence.py')
-rw-r--r--testing/web-platform/tests/webdriver/actions/sequence.py31
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