Skip to content

Commit

Permalink
[WebDriver BiDi] fix `test_release_mouse_sequence_resets_dblclick_sta…
Browse files Browse the repository at this point in the history
…te` (#46310)

* Move test to tentative, as the expected behavior is not clear yet.
* Remove parameter, as the double click is tested in [`test_dblclick_at_coordinates`](https://github.com/web-platform-tests/wpt/blob/077700f9850d358be790ff1fb86b79871f2ccf9a/webdriver/tests/bidi/input/perform_actions/pointer_mouse_multiclick.py#L66C35-L66C43).
  • Loading branch information
sadym-chromium committed May 22, 2024
1 parent e7a9f83 commit fe6ef3a
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 47 deletions.
47 changes: 0 additions & 47 deletions webdriver/tests/bidi/input/release_actions/sequence.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,50 +33,3 @@ async def test_release_char_sequence_sends_keyup_events_in_reverse(
all_events = await get_events(bidi_session, top_context["context"])
(events, expected) = filter_supported_key_events(all_events, expected)
assert events == expected


@pytest.mark.parametrize(
"release_actions",
[True, False],
ids=["with release actions", "without release actions"],
)
async def test_release_mouse_sequence_resets_dblclick_state(
bidi_session,
top_context,
get_element,
load_static_test_page,
release_actions
):
await load_static_test_page(page="test_actions.html")
reporter = await get_element("#outer")

actions = Actions()
actions.add_pointer(pointer_type="mouse").pointer_move(
x=0, y=0, origin=get_element_origin(reporter)
).pointer_down(button=0).pointer_up(button=0)
await bidi_session.input.perform_actions(
actions=actions, context=top_context["context"]
)

if release_actions:
await bidi_session.input.release_actions(context=top_context["context"])

await bidi_session.input.perform_actions(
actions=actions, context=top_context["context"]
)
events = await get_events(bidi_session, top_context["context"])

# The expeced data here might vary between the vendors since the spec at the moment
# is not clear on how the double/triple click should be tracked. It should be
# clarified in the scope of https://github.com/w3c/webdriver/issues/1772.
expected = [
{"type": "mousedown", "button": 0},
{"type": "mouseup", "button": 0},
{"type": "click", "button": 0},
{"type": "mousedown", "button": 0},
{"type": "mouseup", "button": 0},
{"type": "click", "button": 0},
]

filtered_events = [filter_dict(e, expected[0]) for e in events]
assert expected == filtered_events[1:]
52 changes: 52 additions & 0 deletions webdriver/tests/bidi/input/release_actions/sequence_tentative.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import pytest
from webdriver.bidi.modules.input import Actions, get_element_origin
from webdriver.bidi.modules.script import ContextTarget

from tests.support.helpers import filter_dict, filter_supported_key_events
from .. import get_events

pytestmark = pytest.mark.asyncio


async def test_release_mouse_sequence_resets_dblclick_state(
bidi_session,
top_context,
get_element,
load_static_test_page
):
"""
The actual behaviour of the double click, specifically in the light of the `release_actions` is not clear in the
spec at the moment: https://github.com/w3c/webdriver/issues/1772
"""
await load_static_test_page(page="test_actions.html")
reporter = await get_element("#outer")

actions = Actions()
actions.add_pointer(pointer_type="mouse").pointer_move(
x=0, y=0, origin=get_element_origin(reporter)
).pointer_down(button=0).pointer_up(button=0)
await bidi_session.input.perform_actions(
actions=actions, context=top_context["context"]
)

await bidi_session.input.release_actions(context=top_context["context"])

await bidi_session.input.perform_actions(
actions=actions, context=top_context["context"]
)
events = await get_events(bidi_session, top_context["context"])

# The expected data here might vary between the vendors since the spec at the moment
# is not clear on how the double/triple click should be tracked. It should be
# clarified in the scope of https://github.com/w3c/webdriver/issues/1772.
expected = [
{"type": "mousedown", "button": 0},
{"type": "mouseup", "button": 0},
{"type": "click", "button": 0},
{"type": "mousedown", "button": 0},
{"type": "mouseup", "button": 0},
{"type": "click", "button": 0},
]

filtered_events = [filter_dict(e, expected[0]) for e in events]
assert expected == filtered_events[1:]

0 comments on commit fe6ef3a

Please sign in to comment.