chromium/third_party/blink/web_tests/fast/events/wheel/wheelevent-mousewheel-interaction.html

<!DOCTYPE html>
<script src="../../../resources/gesture-util.js"></script>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<span id="parent">
    <div id="target" style="border:solid 1px green; width:220px; height:70px; overflow:scroll">
        TOP TOP TOP TOP TOP TOP TOP
        Scroll mouse wheel over here
        Scroll mouse wheel over here
        Scroll mouse wheel over here
        Scroll mouse wheel over here
        Scroll mouse wheel over here
        Scroll mouse wheel over here
        END END END END END END END
    </div>
</span>

<script>
var testEvent;

function wheelHandler(e) {
    testEvent = e; 
}

function mouseWheelHandler(e) {
    assert_unreached();
}

promise_test(async () => {
    var div = document.getElementById('target');
    div.addEventListener('wheel', wheelHandler);
    div.addEventListener('mousewheel', mouseWheelHandler);
    var center = elementCenter(div);
    const wheelPromise = waitForEvent(div, "wheel");
    await wheelTick(-20, -20, center, 4000);

    // Ensure that the wheel event has fired before checking its side effect.
    await wheelPromise;

    assert_equals(testEvent.__proto__, WheelEvent.prototype, "Standard wheel event was fired.");
    // Wait a little to allow the test to fail in case a mousewheel event
    // (which should only fire if scrolling occurs) fires.
    await raf();
    await raf();
}, "Tests the interaction between the standard and the non-standard 'mousewheel'.");

</script>