blob: f299f99b1eda8e3a2a51b8b90ea61315751e8dbd [file] [log] [blame] [edit]
<!DOCTYPE html>
<html><body>
<script src="../../resources/js-test-pre.js"></script>
<div id="container">
<input id="input" type="text" value="something">
<input id="readonlyInput" type="text" readonly value="something">
<input id="disabledInput" type="text" disabled value="something">
<textarea id="textarea">something</textarea>
<textarea id="readonlyTextarea" readonly>something</textarea>
<textarea id="disabledTextarea" disabled>something</textarea>
</div>
<pre id="console"></pre>
<script>
async function doubleClickOn(element)
{
var x = element.offsetLeft + element.offsetWidth / 2;
var y = element.offsetTop + element.offsetHeight / 2;
await eventSender.asyncMouseMoveTo(x, y);
await eventSender.asyncMouseDown();
await eventSender.asyncMouseUp();
await eventSender.asyncMouseDown();
await eventSender.asyncMouseUp();
}
var selectEventFiredOnInput = false;
var selectEventFiredOnReadonlyInput = false;
var selectEventFiredOnDisabledInput = false;
var selectEventFiredOnTextarea = false;
var selectEventFiredOnReadonlyTextarea = false;
var selectEventFiredOnDisabledTextarea = false;
input.addEventListener('select', function() {
selectEventFiredOnInput = true;
});
readonlyInput.addEventListener('select', function() {
selectEventFiredOnReadonlyInput = true;
});
disabledInput.addEventListener('select', function() {
selectEventFiredOnDisabledInput = true;
});
textarea.addEventListener('select', function() {
selectEventFiredOnTextarea = true;
});
readonlyTextarea.addEventListener('select', function() {
selectEventFiredOnReadonlyTextarea = true;
});
disabledTextarea.addEventListener('select', function() {
selectEventFiredOnDisabledTextarea = true;
});
onload = async () => {
if (!window.testRunner)
return;
testRunner.waitUntilDone();
debug('double clicking on normal input');
await doubleClickOn(input);
shouldBeTrue('selectEventFiredOnInput');
debug('');
debug('double clicking on readonly input');
await doubleClickOn(readonlyInput);
shouldBeTrue('selectEventFiredOnReadonlyInput');
debug('');
debug('double clicking on disabled input');
await doubleClickOn(disabledInput);
shouldBeTrue('selectEventFiredOnDisabledInput');
debug('');
debug('double clicking on normal textarea');
await doubleClickOn(textarea);
shouldBeTrue('selectEventFiredOnTextarea');
debug('');
debug('double clicking on readonly textarea');
await doubleClickOn(readonlyTextarea);
shouldBeTrue('selectEventFiredOnReadonlyTextarea');
debug('');
debug('double clicking on disabled textarea');
await doubleClickOn(disabledTextarea);
shouldBeTrue('selectEventFiredOnDisabledTextarea');
debug('');
container.innerHTML = "";
testRunner.notifyDone();
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body></html>