Files
ladybird/Tests/LibWeb/Text/input/UIEvents/mouse-button-events.html
Zaggy1024 8857239a56 Tests: Add a test for mouse button events' ordering
This test demonstrates the issue with double and triple clicks dropping
the pointer/mousedown events.
2026-03-17 04:01:29 -05:00

48 lines
1.2 KiB
HTML

<!DOCTYPE html>
<style>
body {
margin: 0;
width: 200px;
height: 200px;
}
#target {
width: 100px;
height: 100px;
background-color: yellowgreen;
}
</style>
<div id="target"></div>
<script src="../include.js"></script>
<script>
function logEvent(e) {
println(`${e.type} target=#${e.target.id} button=${e.button} detail=${e.detail}`);
}
const events = [
'pointerdown', 'pointerup',
'mousedown', 'mouseup',
'click', 'dblclick', 'auxclick',
'contextmenu',
];
events.forEach(type => target.addEventListener(type, logEvent));
test(() => {
println("> single left click");
internals.click(50, 50);
println("> double left click");
internals.click(50, 50, 2);
println("> triple left click");
internals.click(50, 50, 3);
println("> single right click");
internals.click(50, 50, 1, internals.BUTTON_RIGHT);
println("> single right click with contextmenu default behavior prevented");
target.addEventListener('contextmenu', e => e.preventDefault());
internals.click(50, 50, 1, internals.BUTTON_RIGHT);
});
</script>