mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 02:05:42 +00:00
Bug 1432105 - Stop pointer action tests from restarting Firefox; r=whimboo
MozReview-Commit-ID: 29P3Uit7U7V --HG-- extra : rebase_source : 91bed0fa38cf5330d4058b0fe03829f33ec73a3c
This commit is contained in:
parent
23c32a1748
commit
b3bb56d8ba
@ -384935,9 +384935,7 @@
|
||||
"webdriver/tests/actions/modifier_click.py": [
|
||||
[
|
||||
"/webdriver/tests/actions/modifier_click.py",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/actions/mouse.py": [
|
||||
@ -485294,7 +485292,7 @@
|
||||
"support"
|
||||
],
|
||||
"css/css-fonts/font-feature-settings-serialization-001.html": [
|
||||
"d1032e08aee1e9a7d1309ad94bd5633535ce9315",
|
||||
"bf557e7f93663a36dab3ea358401b16c2e88811a",
|
||||
"testharness"
|
||||
],
|
||||
"css/css-fonts/font-features-across-space-1-ref.html": [
|
||||
@ -563110,7 +563108,7 @@
|
||||
"support"
|
||||
],
|
||||
"interfaces/dom.idl": [
|
||||
"52236516620dac45213fa06dc169f0c02e63a0c5",
|
||||
"773c449a2f9a6bd9e35d0dd8a4c2e1eaa0266150",
|
||||
"support"
|
||||
],
|
||||
"interfaces/fullscreen.idl": [
|
||||
@ -592274,7 +592272,7 @@
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/actions/modifier_click.py": [
|
||||
"88a384182fdd9df1515b9d8cfda8f56aed138ec7",
|
||||
"f0ed71cbb6550ef496096541531f3b4fa3f4c6e2",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/actions/mouse.py": [
|
||||
@ -592282,7 +592280,7 @@
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/actions/mouse_dblclick.py": [
|
||||
"f6afcb8c0fa017d58a9fcdd3cc474e0c8fd52db5",
|
||||
"9ab61ed4fd678c04bdcc929466b4a867e5a2048e",
|
||||
"wdspec"
|
||||
],
|
||||
"webdriver/tests/actions/pointer_origin.py": [
|
||||
|
@ -1,39 +1,9 @@
|
||||
# META: timeout=long
|
||||
|
||||
import pytest
|
||||
|
||||
from tests.actions.support.refine import filter_dict, get_events
|
||||
from tests.actions.support.keys import Keys
|
||||
|
||||
|
||||
# Using local fixtures because we want to start a new session between
|
||||
# each test, otherwise the clicks in each test interfere with each other.
|
||||
@pytest.fixture(autouse=True)
|
||||
def release_actions(mod_click_session, request):
|
||||
request.addfinalizer(mod_click_session.actions.release)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mod_click_session(new_session, url, add_browser_capabilites):
|
||||
_, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
|
||||
session.url = url("/webdriver/tests/actions/support/test_actions_wdspec.html")
|
||||
|
||||
return session
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def key_chain(mod_click_session):
|
||||
return mod_click_session.actions.sequence("key", "keyboard_id")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mouse_chain(mod_click_session):
|
||||
return mod_click_session.actions.sequence(
|
||||
"pointer",
|
||||
"pointer_id",
|
||||
{"pointerType": "mouse"})
|
||||
|
||||
|
||||
@pytest.mark.parametrize("modifier, prop", [
|
||||
(Keys.ALT, "altKey"),
|
||||
(Keys.R_ALT, "altKey"),
|
||||
@ -42,19 +12,15 @@ def mouse_chain(mod_click_session):
|
||||
(Keys.SHIFT, "shiftKey"),
|
||||
(Keys.R_SHIFT, "shiftKey"),
|
||||
])
|
||||
def test_modifier_click(mod_click_session,
|
||||
key_chain,
|
||||
mouse_chain,
|
||||
modifier,
|
||||
prop):
|
||||
def test_modifier_click(session, test_actions_page, key_chain, mouse_chain, modifier, prop):
|
||||
key_chain \
|
||||
.pause(200) \
|
||||
.key_down(modifier) \
|
||||
.pause(200) \
|
||||
.key_up(modifier)
|
||||
outer = mod_click_session.find.css("#outer", all=False)
|
||||
outer = session.find.css("#outer", all=False)
|
||||
mouse_chain.click(element=outer)
|
||||
mod_click_session.actions.perform([key_chain.dict, mouse_chain.dict])
|
||||
session.actions.perform([key_chain.dict, mouse_chain.dict])
|
||||
expected = [
|
||||
{"type": "mousemove"},
|
||||
{"type": "mousedown"},
|
||||
@ -71,12 +37,12 @@ def test_modifier_click(mod_click_session,
|
||||
e.update(defaults)
|
||||
if e["type"] != "mousemove":
|
||||
e[prop] = True
|
||||
filtered_events = [filter_dict(e, expected[0]) for e in get_events(mod_click_session)]
|
||||
filtered_events = [filter_dict(e, expected[0]) for e in get_events(session)]
|
||||
assert expected == filtered_events
|
||||
|
||||
|
||||
def test_many_modifiers_click(mod_click_session, key_chain, mouse_chain):
|
||||
outer = mod_click_session.find.css("#outer", all=False)
|
||||
def test_many_modifiers_click(session, test_actions_page, key_chain, mouse_chain):
|
||||
outer = session.find.css("#outer", all=False)
|
||||
key_chain \
|
||||
.pause(0) \
|
||||
.key_down(Keys.CONTROL) \
|
||||
@ -92,7 +58,7 @@ def test_many_modifiers_click(mod_click_session, key_chain, mouse_chain):
|
||||
.pause(0) \
|
||||
.pause(0) \
|
||||
.pointer_down()
|
||||
mod_click_session.actions.perform([key_chain.dict, mouse_chain.dict])
|
||||
session.actions.perform([key_chain.dict, mouse_chain.dict])
|
||||
expected = [
|
||||
{"type": "mousemove"},
|
||||
# shift and ctrl presses
|
||||
@ -113,5 +79,5 @@ def test_many_modifiers_click(mod_click_session, key_chain, mouse_chain):
|
||||
for e in expected[1:4]:
|
||||
e["shiftKey"] = True
|
||||
e["ctrlKey"] = True
|
||||
events = [filter_dict(e, expected[0]) for e in get_events(mod_click_session)]
|
||||
events = [filter_dict(e, expected[0]) for e in get_events(session)]
|
||||
assert events == expected
|
||||
|
@ -4,37 +4,11 @@ from tests.actions.support.mouse import get_inview_center, get_viewport_rect
|
||||
from tests.actions.support.refine import get_events, filter_dict
|
||||
from tests.support.asserts import assert_move_to_coordinates
|
||||
|
||||
|
||||
_DBLCLICK_INTERVAL = 640
|
||||
|
||||
|
||||
# Using local fixtures because we want to start a new session between
|
||||
# each test, otherwise the clicks in each test interfere with each other.
|
||||
@pytest.fixture(autouse=True)
|
||||
def release_actions(dblclick_session, request):
|
||||
# release all actions after each test
|
||||
# equivalent to a teardown_function, but with access to session fixture
|
||||
request.addfinalizer(dblclick_session.actions.release)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def dblclick_session(new_session, url, add_browser_capabilites):
|
||||
_, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
|
||||
session.url = url("/webdriver/tests/actions/support/test_actions_wdspec.html")
|
||||
|
||||
return session
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mouse_chain(dblclick_session):
|
||||
return dblclick_session.actions.sequence(
|
||||
"pointer",
|
||||
"pointer_id",
|
||||
{"pointerType": "mouse"})
|
||||
|
||||
|
||||
@pytest.mark.parametrize("click_pause", [0, 200])
|
||||
def test_dblclick_at_coordinates(dblclick_session, mouse_chain, click_pause):
|
||||
def test_dblclick_at_coordinates(session, test_actions_page, mouse_chain, click_pause):
|
||||
div_point = {
|
||||
"x": 82,
|
||||
"y": 187,
|
||||
@ -45,7 +19,7 @@ def test_dblclick_at_coordinates(dblclick_session, mouse_chain, click_pause):
|
||||
.pause(click_pause) \
|
||||
.click() \
|
||||
.perform()
|
||||
events = get_events(dblclick_session)
|
||||
events = get_events(session)
|
||||
assert_move_to_coordinates(div_point, "outer", events)
|
||||
expected = [
|
||||
{"type": "mousedown", "button": 0},
|
||||
@ -61,9 +35,9 @@ def test_dblclick_at_coordinates(dblclick_session, mouse_chain, click_pause):
|
||||
assert expected == filtered_events[1:]
|
||||
|
||||
|
||||
def test_dblclick_with_pause_after_second_pointerdown(dblclick_session, mouse_chain):
|
||||
outer = dblclick_session.find.css("#outer", all=False)
|
||||
center = get_inview_center(outer.rect, get_viewport_rect(dblclick_session))
|
||||
def test_dblclick_with_pause_after_second_pointerdown(session, test_actions_page, mouse_chain):
|
||||
outer = session.find.css("#outer", all=False)
|
||||
center = get_inview_center(outer.rect, get_viewport_rect(session))
|
||||
mouse_chain \
|
||||
.pointer_move(int(center["x"]), int(center["y"])) \
|
||||
.click() \
|
||||
@ -71,7 +45,7 @@ def test_dblclick_with_pause_after_second_pointerdown(dblclick_session, mouse_ch
|
||||
.pause(_DBLCLICK_INTERVAL + 10) \
|
||||
.pointer_up() \
|
||||
.perform()
|
||||
events = get_events(dblclick_session)
|
||||
events = get_events(session)
|
||||
expected = [
|
||||
{"type": "mousedown", "button": 0},
|
||||
{"type": "mouseup", "button": 0},
|
||||
@ -86,16 +60,16 @@ def test_dblclick_with_pause_after_second_pointerdown(dblclick_session, mouse_ch
|
||||
assert expected == filtered_events[1:]
|
||||
|
||||
|
||||
def test_no_dblclick(dblclick_session, mouse_chain):
|
||||
outer = dblclick_session.find.css("#outer", all=False)
|
||||
center = get_inview_center(outer.rect, get_viewport_rect(dblclick_session))
|
||||
def test_no_dblclick(session, test_actions_page, mouse_chain):
|
||||
outer = session.find.css("#outer", all=False)
|
||||
center = get_inview_center(outer.rect, get_viewport_rect(session))
|
||||
mouse_chain \
|
||||
.pointer_move(int(center["x"]), int(center["y"])) \
|
||||
.click() \
|
||||
.pause(_DBLCLICK_INTERVAL + 10) \
|
||||
.click() \
|
||||
.perform()
|
||||
events = get_events(dblclick_session)
|
||||
events = get_events(session)
|
||||
expected = [
|
||||
{"type": "mousedown", "button": 0},
|
||||
{"type": "mouseup", "button": 0},
|
||||
|
Loading…
Reference in New Issue
Block a user