blob: 42590e7d84e15e6a428eb74382f9127871fd00d1 [file] [edit]
<!DOCTYPE html>
<html><body>
<script src="../../resources/js-test.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>
window.jsTestIsAsync = true;
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;
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 = "";
finishJSTest();
}
</script>
</body></html>