45 lines
1.3 KiB
HTML
45 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<p>This tests that the input element does not get the focus when dragging mouse over it
|
|
even when document has a selectstart event listener which prevents default.<br>
|
|
To manually test, drag a mouse cursor over the input element.
|
|
The input element should not gain focus.</p>
|
|
<input type="text">
|
|
<pre id="log"></pre>
|
|
<script>
|
|
|
|
document.addEventListener('selectstart', (event) => {
|
|
log.textContent += 'selectstart event\n';
|
|
event.preventDefault();
|
|
});
|
|
|
|
const input = document.querySelector('input');
|
|
let inputElementWasFocused = false;
|
|
input.addEventListener('focus', () => {
|
|
inputElementWasFocused = true;
|
|
log.textContent += 'FAIL - the input element was focused\n';
|
|
});
|
|
|
|
if (window.eventSender) {
|
|
testRunner.dumpAsText();
|
|
|
|
let x = input.offsetLeft + 5;
|
|
eventSender.mouseMoveTo(x, input.offsetTop - 5);
|
|
eventSender.mouseDown();
|
|
eventSender.leapForward(100);
|
|
eventSender.mouseMoveTo(x, input.offsetTop + 5);
|
|
eventSender.leapForward(100);
|
|
eventSender.mouseMoveTo(x, input.offsetTop + 100);
|
|
eventSender.mouseUp();
|
|
|
|
if (!inputElementWasFocused)
|
|
log.textContent += 'PASS - input element was not focused';
|
|
|
|
} else
|
|
document.write('This test requires eventSender drag & drop support');
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|