blob: 06af3801ce57e3f4a23689ef241e51a17d92886c [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
async_test(function(t) {
window.onload = t.step_func(function() {
if (!window.eventSender) {
t.done();
return;
}
doSetSelectionRange('focus');
doSetSelectionRange('mousedown');
doSetSelectionRange('mouseup');
doSetSelectionRange('click');
t.done();
});
function doSetSelectionRange(eventType) {
var textfield = document.getElementById('textfield');
textfield.setSelectionRange(0, 1);
var tx = textfield.offsetLeft + 4;
var ty = textfield.offsetTop + 4;
textfield.addEventListener(eventType, setSelectionRange);
eventSender.mouseMoveTo(tx, ty);
eventSender.mouseDown();
eventSender.mouseUp();
if (eventType === 'mousedown') {
assert_equals(textfield.selectionStart, 0);
assert_equals(textfield.selectionEnd, 0);
} else {
assert_equals(textfield.selectionStart, 0);
assert_equals(textfield.selectionEnd, 5);
}
eventSender.leapForward(1000);
eventSender.mouseMoveTo(textfield.offsetLeft , textfield.offsetTop);
eventSender.mouseDown();
eventSender.mouseUp();
textfield.blur();
assert_equals(textfield.selectionStart, 0);
assert_equals(textfield.selectionEnd, 0);
textfield.removeEventListener(eventType, setSelectionRange);
}
function setSelectionRange(e) {
var textfield = document.getElementById('textfield');
textfield.setSelectionRange(0, textfield.value.length);
}
}, "This tests the selection of the text field after setSelectionRange is called.");
</script>
<input type="text" value="value" id="textfield"></input>