Skip to content

Commit e45a219

Browse files
authored
test: make wheel tests pass on CR/darwin (#1811)
1 parent 3244581 commit e45a219

File tree

1 file changed

+31
-12
lines changed

1 file changed

+31
-12
lines changed

tests/async/test_input.py

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import asyncio
1616
import os
1717
import re
18+
import sys
1819

1920
import pytest
2021

@@ -241,7 +242,21 @@ async def test_should_work_for_webkitdirectory(page):
241242
assert file_chooser.is_multiple()
242243

243244

244-
async def test_wheel_should_work(page: Page, server):
245+
def _assert_wheel_event(expected, received, browser_name):
246+
# Chromium reports deltaX/deltaY scaled by host device scale factor.
247+
# https://bugs.chromium.org/p/chromium/issues/detail?id=1324819
248+
# https://github.com/microsoft/playwright/issues/7362
249+
# Different bots have different scale factors (usually 1 or 2), so we just ignore the values
250+
# instead of guessing the host scale factor.
251+
if sys.platform == "darwin" and browser_name == "chromium":
252+
del expected["deltaX"]
253+
del expected["deltaY"]
254+
del received["deltaX"]
255+
del received["deltaY"]
256+
assert received == expected
257+
258+
259+
async def test_wheel_should_work(page: Page, server, browser_name: str):
245260
await page.set_content(
246261
"""
247262
<div style="width: 5000px; height: 5000px;"></div>
@@ -250,17 +265,21 @@ async def test_wheel_should_work(page: Page, server):
250265
await page.mouse.move(50, 60)
251266
await _listen_for_wheel_events(page, "div")
252267
await page.mouse.wheel(0, 100)
253-
assert await page.evaluate("window.lastEvent") == {
254-
"deltaX": 0,
255-
"deltaY": 100,
256-
"clientX": 50,
257-
"clientY": 60,
258-
"deltaMode": 0,
259-
"ctrlKey": False,
260-
"shiftKey": False,
261-
"altKey": False,
262-
"metaKey": False,
263-
}
268+
_assert_wheel_event(
269+
await page.evaluate("window.lastEvent"),
270+
{
271+
"deltaX": 0,
272+
"deltaY": 100,
273+
"clientX": 50,
274+
"clientY": 60,
275+
"deltaMode": 0,
276+
"ctrlKey": False,
277+
"shiftKey": False,
278+
"altKey": False,
279+
"metaKey": False,
280+
},
281+
browser_name,
282+
)
264283
await page.wait_for_function("window.scrollY === 100")
265284

266285

0 commit comments

Comments
 (0)