Bug 1397187 - Split webdriver actions sequence tests into two files; r=jgraham

MozReview-Commit-ID: IYO7uxcFMzR

--HG--
extra : rebase_source : 966c9c7d065788cc97b085978f99240580c6aa17
This commit is contained in:
Maja Frydrychowicz 2017-10-24 19:03:30 -04:00
parent 46fda21b1a
commit c15eeb26e9
3 changed files with 102 additions and 86 deletions

View File

@ -409331,6 +409331,14 @@
{}
]
],
"webdriver/tests/actions/modifier_click.py": [
[
"/webdriver/tests/actions/modifier_click.py",
{
"timeout": "long"
}
]
],
"webdriver/tests/actions/mouse.py": [
[
"/webdriver/tests/actions/mouse.py",
@ -417101,7 +417109,7 @@
"testharness"
],
"XMLHttpRequest/open-url-encoding.htm": [
"ead2b1f6235cdf8e912214ce24f6d23262d2c826",
"a36c7b0e5919af7842883582ef9fc415d8f7ef25",
"testharness"
],
"XMLHttpRequest/open-url-fragment.htm": [
@ -614573,7 +614581,7 @@
"support"
],
"pointerevents/pointerevent_support.js": [
"f2ab5ea976ffd62c669fda2db1484a4733ce5b28",
"f3e21bc91b635f59e14c40535ad52b5d9d9df46d",
"support"
],
"pointerevents/pointerevent_suppress_compat_events_on_click-manual.html": [
@ -614589,7 +614597,7 @@
"manual"
],
"pointerevents/pointerevent_touch-action-button-test_touch-manual.html": [
"5da2686dec322631f63640e4699431d7581d2f5f",
"a3f832ef68df2d970d74c0ac2f5e45627005b89e",
"manual"
],
"pointerevents/pointerevent_touch-action-illegal.html": [
@ -614669,7 +614677,7 @@
"manual"
],
"pointerevents/pointerevent_touch-action-span-test_touch-manual.html": [
"666e92e9be855d1290e97f1c732e021a98c666de",
"b5b3785a0063b605b27ae735190e36a06dcd25c3",
"manual"
],
"pointerevents/pointerevent_touch-action-svg-test_touch-manual.html": [
@ -614677,7 +614685,7 @@
"manual"
],
"pointerevents/pointerevent_touch-action-table-test_touch-manual.html": [
"a6a9c6da496d34a2e937ace1424120ee790eba24",
"5a8575522ab6868dc5235ace1e052a3f8320724d",
"manual"
],
"pointerevents/pointerevent_touch-action-verification.html": [
@ -631201,7 +631209,7 @@
"testharness"
],
"web-animations/interfaces/Animatable/animate.html": [
"20339be998b601f34e6b4d676c681ce3a16a464e",
"99868d179c69091aa63631a27d98df4ee957a746",
"testharness"
],
"web-animations/interfaces/Animatable/getAnimations.html": [
@ -631329,7 +631337,7 @@
"testharness"
],
"web-animations/interfaces/KeyframeEffect/constructor.html": [
"d382ddbbd6d9f84322d1a3e7b29e0c93f921e4fe",
"29fec0789ccb59ee62d433056038c14ade0eaa9b",
"testharness"
],
"web-animations/interfaces/KeyframeEffect/copy-constructor.html": [
@ -631353,7 +631361,7 @@
"testharness"
],
"web-animations/interfaces/KeyframeEffect/setKeyframes.html": [
"8ef313bf46f963a5c0497374a058d05b702e7e11",
"477e983fcef02361c305918d10a67f2909cfa561",
"testharness"
],
"web-animations/interfaces/KeyframeEffect/setTarget.html": [
@ -631373,11 +631381,11 @@
"support"
],
"web-animations/resources/keyframe-tests.js": [
"d19e526bb655bc21bbb1434404fa7fc094f3d593",
"52ffc50c4ebf0326db8f4e1d0cc1234f6c860dc2",
"support"
],
"web-animations/resources/keyframe-utils.js": [
"486e975e10a00c6e01e9c930ef5581f498a2ddb5",
"08da0c81847809328bda0d6e0581711f7838916e",
"support"
],
"web-animations/resources/xhr-doc.py": [
@ -631609,7 +631617,7 @@
"support"
],
"webaudio/js/helpers.js": [
"dff18a7e57adb3847b70fa7f1f3752b591b38d6e",
"3cb468605c1fa8e5005bc8552b15f7a37ee9b935",
"support"
],
"webaudio/js/lodash.js": [
@ -631637,19 +631645,19 @@
"support"
],
"webaudio/the-audio-api/the-analysernode-interface/test-analyser-gain.html": [
"c3f5f5969ed0ab58a9df332196e138aef8e693f3",
"e2320e33ef1df0155d5fcf536550e0e398b15407",
"testharness"
],
"webaudio/the-audio-api/the-analysernode-interface/test-analyser-minimum.html": [
"cfbeb7283e7375974943ccf689cca73942e6259f",
"26282412113f6298a90a2cac963a2b0de03ef43d",
"testharness"
],
"webaudio/the-audio-api/the-analysernode-interface/test-analyser-output.html": [
"f27d081b9b3df8af7449f130a455b90c6e93ca7b",
"2d9f397414f8d7b2b4c2da05d4476cd5d2ce9230",
"testharness"
],
"webaudio/the-audio-api/the-analysernode-interface/test-analyser-scale.html": [
"1909a2970f0529ad0433c8e6e75733695d44d3e0",
"cb51b46db5e572c52502dc0dce465927fb3a2b87",
"testharness"
],
"webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html": [
@ -631888,12 +631896,16 @@
"69542dc107d881bf18dfff3203bfd7a9ec31b4ad",
"wdspec"
],
"webdriver/tests/actions/modifier_click.py": [
"2ec22f44973e6da3b9506ad7cc9fd0949f3ef8b5",
"wdspec"
],
"webdriver/tests/actions/mouse.py": [
"d7af66e45c8e306b4258b92c54ed86073fd21c8d",
"wdspec"
],
"webdriver/tests/actions/sequence.py": [
"4244635ccbab0920eba8a2fa88645fa7333df363",
"970be95892e528c60ace38ea09398019019ca8c7",
"wdspec"
],
"webdriver/tests/actions/special_keys.py": [

View File

@ -0,0 +1,74 @@
# META: timeout=long
import pytest
from tests.actions.support.refine import filter_dict, get_events
from tests.actions.support.keys import Keys
@pytest.mark.parametrize("modifier, prop", [
(Keys.CONTROL, "ctrlKey"),
(Keys.ALT, "altKey"),
(Keys.META, "metaKey"),
(Keys.SHIFT, "shiftKey"),
(Keys.R_CONTROL, "ctrlKey"),
(Keys.R_ALT, "altKey"),
(Keys.R_META, "metaKey"),
(Keys.R_SHIFT, "shiftKey"),
])
def test_modifier_click(session,
test_actions_page,
key_chain,
mouse_chain,
modifier,
prop):
key_chain \
.pause(0) \
.key_down(modifier) \
.pause(200) \
.key_up(modifier)
outer = session.find.css("#outer", all=False)
mouse_chain.click(element=outer)
session.actions.perform([key_chain.dict, mouse_chain.dict])
expected = [
{"type": "mousemove"},
{"type": "mousedown"},
{"type": "mouseup"},
{"type": "click"},
]
defaults = {
"altKey": False,
"metaKey": False,
"shiftKey": False,
"ctrlKey": False
}
for e in expected:
e.update(defaults)
if e["type"] != "mousemove":
e[prop] = True
filtered_events = [filter_dict(e, expected[0]) for e in get_events(session)]
assert expected == filtered_events
def test_release_control_click(session, key_reporter, key_chain, mouse_chain):
key_chain \
.pause(0) \
.key_down(Keys.CONTROL)
mouse_chain \
.pointer_move(0, 0, origin=key_reporter) \
.pointer_down()
session.actions.perform([key_chain.dict, mouse_chain.dict])
session.execute_script("""
var keyReporter = document.getElementById("keys");
["mousedown", "mouseup"].forEach((e) => {
keyReporter.addEventListener(e, recordPointerEvent);
});
resetEvents();
""")
session.actions.release()
expected = [
{"type": "mouseup"},
{"type": "keyup"},
]
events = [filter_dict(e, expected[0]) for e in get_events(session)]
assert events == expected

View File

@ -1,7 +1,5 @@
# META: timeout=long
import pytest
from tests.actions.support.refine import get_keys, filter_dict, get_events
from tests.actions.support.keys import Keys
@ -36,74 +34,6 @@ def test_release_no_actions_sends_no_events(session, key_reporter):
assert len(get_events(session)) == 0
@pytest.mark.parametrize("modifier, prop", [
(Keys.CONTROL, "ctrlKey"),
(Keys.ALT, "altKey"),
(Keys.META, "metaKey"),
(Keys.SHIFT, "shiftKey"),
(Keys.R_CONTROL, "ctrlKey"),
(Keys.R_ALT, "altKey"),
(Keys.R_META, "metaKey"),
(Keys.R_SHIFT, "shiftKey"),
])
def test_control_click(session,
test_actions_page,
key_chain,
mouse_chain,
modifier,
prop):
key_chain \
.pause(0) \
.key_down(modifier) \
.pause(200) \
.key_up(modifier)
outer = session.find.css("#outer", all=False)
mouse_chain.click(element=outer)
session.actions.perform([key_chain.dict, mouse_chain.dict])
expected = [
{"type": "mousemove"},
{"type": "mousedown"},
{"type": "mouseup"},
{"type": "click"},
]
defaults = {
"altKey": False,
"metaKey": False,
"shiftKey": False,
"ctrlKey": False
}
for e in expected:
e.update(defaults)
if e["type"] != "mousemove":
e[prop] = True
filtered_events = [filter_dict(e, expected[0]) for e in get_events(session)]
assert expected == filtered_events
def test_release_control_click(session, key_reporter, key_chain, mouse_chain):
key_chain \
.pause(0) \
.key_down(Keys.CONTROL)
mouse_chain \
.pointer_move(0, 0, origin=key_reporter) \
.pointer_down()
session.actions.perform([key_chain.dict, mouse_chain.dict])
session.execute_script("""
var keyReporter = document.getElementById("keys");
["mousedown", "mouseup"].forEach((e) => {
keyReporter.addEventListener(e, recordPointerEvent);
});
resetEvents();
""")
session.actions.release()
expected = [
{"type": "mouseup"},
{"type": "keyup"},
]
events = [filter_dict(e, expected[0]) for e in get_events(session)]
assert events == expected
def test_many_modifiers_click(session, test_actions_page, key_chain, mouse_chain):
outer = session.find.css("#outer", all=False)
key_chain \