diff options
| author | Adam Soltys <[email protected]> | 2026-10-09 01:06:37 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-09 01:06:37 -0700 |
| commit | 817bcc3ba7b2aaad388bc5b2e5cda5ccf7b27766 (patch) | |
| tree | dcee40a6ed25e6b7e8a1f0dcfa180aca9db05f97 /tools/feed-momentum-test.js | |
| parent | 537b116400089ce15a1bdbeb0873cb88dfa35fe3 (diff) | |
| download | coinosv3-817bcc3ba7b2aaad388bc5b2e5cda5ccf7b27766.tar.gz coinosv3-817bcc3ba7b2aaad388bc5b2e5cda5ccf7b27766.zip | |
Restart wheel coast timing and respond immediately on reversal
Diffstat (limited to 'tools/feed-momentum-test.js')
| -rw-r--r-- | tools/feed-momentum-test.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/feed-momentum-test.js b/tools/feed-momentum-test.js index 9f61667..29e4934 100644 --- a/tools/feed-momentum-test.js +++ b/tools/feed-momentum-test.js @@ -57,6 +57,20 @@ try { await sleep(60); await notch(-1); const brake = await settle(); check('a reverse turn brakes the coast', brake < 3 * one, brake + 'px'); + for (const dir of [1, -1]) { + await page.evaluate(() => window.scrollTo(0, 2000)); + await notch(dir); await sleep(60); + const first = await page.evaluate((dir) => { + const ev = new WheelEvent('wheel', { deltaY: -dir * 100, deltaMode: 0, bubbles: true, cancelable: true }); + Object.defineProperty(ev, 'wheelDeltaY', { value: dir * 120 }); + const before = scrollY; + document.querySelector('#stand-in p').dispatchEvent(ev); + return scrollY - before; + }, dir); + check('reversal responds immediately with a small step (' + dir + ')', first * dir < 0 && Math.abs(first) <= 16, first + 'px'); + await settle(); + } + await top(); check('a trackpad\'s smooth deltas are the browser\'s', !(await notch(1, true))); check('...and a notch right after them too (still a trackpad)', !(await notch(1))); |
