<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<script src="../../resources/js-test-pre.js"></script> | |
</head> | |
<body> | |
<p id="description"></p> | |
<input id="text" readonly="readonly" value="2009-04-29"/><br/> | |
<textarea id="area" readonly="readonly">2009-04-29</textarea></div> | |
<div id="console"></div> | |
<div> | |
<script type="text/javascript"> | |
description('Tests for selectionStart and selectionEnd on read-only INPUT and TEXTAREA. <br/> <a href="https://bugs.webkit.org/show_bug.cgi?id=25444">bug 25444</a>: SelectionStart, selectionEnd properties return wrong values when the selection is in a form input.'); | |
function startTest(element, start, end) { | |
element.setSelectionRange(start, end); | |
start = start < 0 ? 0 : start; | |
end = end > 10 ? 10 : end; | |
start = start > end ? end : start; | |
if (element.selectionStart != start) | |
testFailed('element.selectionStart' + ' should be ' + start + ' but it is ' + element.selectionStart); | |
else | |
testPassed('element.selectionStart' + ' is ' + element.selectionStart); | |
if (element.selectionEnd != end) | |
testFailed('element.selectionEnd' + ' should be ' + end + ' but it is ' + element.selectionEnd); | |
else | |
testPassed('element.selectionEnd' + ' is ' + element.selectionEnd); | |
} | |
function testHandler(element) { | |
var offsets = [[0, 10], [0, 9], [1, 10], [5,5], [8,5], [-1,0], [-1,50]]; | |
for (var i = 0; i < offsets.length; i++) | |
startTest(element, offsets[i][0], offsets[i][1]); | |
} | |
testHandler(document.getElementById('text')); | |
testHandler(document.getElementById('area')); | |
</script> | |
<script src="../../resources/js-test-post.js"></script> | |
</body> | |
</html> | |