|
15 | 15 | */
|
16 | 16 | import type { Page } from 'playwright-core';
|
17 | 17 | import { test as it, expect } from './pageTest';
|
| 18 | +import { contextTest } from '../config/browserTest'; |
| 19 | + |
18 | 20 | it.skip(({ isElectron, browserMajorVersion }) => {
|
19 | 21 | // Old Electron has flaky wheel events.
|
20 | 22 | return isElectron && browserMajorVersion <= 11;
|
@@ -108,6 +110,20 @@ it('should work when the event is canceled', async ({ page }) => {
|
108 | 110 | expect(await page.evaluate('window.scrollY')).toBe(0);
|
109 | 111 | });
|
110 | 112 |
|
| 113 | +contextTest('should scroll when emulating a mobile viewport', async ({ contextFactory, server, browserName }) => { |
| 114 | + contextTest.skip(browserName === 'firefox'); |
| 115 | + contextTest.fixme(browserName === 'webkit'); |
| 116 | + const context = await contextFactory({ |
| 117 | + viewport: { 'width': 1000, 'height': 600 }, |
| 118 | + isMobile: true, |
| 119 | + }); |
| 120 | + const page = await context.newPage(); |
| 121 | + await page.goto(server.PREFIX + '/input/scrollable.html'); |
| 122 | + await page.mouse.move(50, 60); |
| 123 | + await page.mouse.wheel(0, 100); |
| 124 | + await page.waitForFunction('window.scrollY === 100'); |
| 125 | +}); |
| 126 | + |
111 | 127 | async function listenForWheelEvents(page: Page, selector: string) {
|
112 | 128 | await page.evaluate(selector => {
|
113 | 129 | document.querySelector(selector).addEventListener('wheel', (e: WheelEvent) => {
|
|
0 commit comments