OLD | NEW |
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <meta charset="utf-8"> | 4 <meta charset="utf-8"> |
5 <script src="../../resources/js-test.js"></script> | 5 <script src="../../resources/js-test.js"></script> |
6 </head> | 6 </head> |
7 <body> | 7 <body> |
8 <p id="description"></p> | 8 <p id="description"></p> |
9 <input id="text" readonly="readonly" value="2009-04-29"/><br/> | 9 <input id="text" readonly="readonly" value="2009-04-29"/><br/> |
10 <textarea id="area" readonly="readonly">2009-04-29</textarea></div> | 10 <textarea id="area" readonly="readonly">2009-04-29</textarea></div> |
11 <div id="console"></div> | 11 <div id="console"></div> |
12 <div> | 12 <div> |
13 <script type="text/javascript"> | 13 <script type="text/javascript"> |
14 description('Tests for selectionStart and selectionEnd on read-only INPUT and TE
XTAREA. <br/> <a href="https://bugs.webkit.org/show_bug.cgi?id=25444">bug 25444<
/a>: SelectionStart, selectionEnd properties return wrong values when the select
ion is in a form input.'); | 14 description('Tests for selectionStart and selectionEnd on read-only INPUT and TE
XTAREA. <br/> <a href="https://bugs.webkit.org/show_bug.cgi?id=25444">bug 25444<
/a>: SelectionStart, selectionEnd properties return wrong values when the select
ion is in a form input.'); |
15 | 15 |
16 function startTest(element, start, end) { | 16 function startTest(element, start, end) { |
17 element.setSelectionRange(start, end); | 17 element.setSelectionRange(start, end); |
18 | 18 |
19 start = start < 0 ? 0 : start; | 19 start = start < 0 ? end : start; |
20 end = end > 10 ? 10 : end; | 20 end = end > 10 ? 10 : end; |
21 start = start > end ? end : start; | 21 start = start > end ? end : start; |
22 | 22 |
23 if (element.selectionStart != start) | 23 if (element.selectionStart != start) |
24 testFailed('element.selectionStart' + ' should be ' + start + ' but it i
s ' + element.selectionStart); | 24 testFailed('element.selectionStart' + ' should be ' + start + ' but it i
s ' + element.selectionStart); |
25 else | 25 else |
26 testPassed('element.selectionStart' + ' is ' + element.selectionStart); | 26 testPassed('element.selectionStart' + ' is ' + element.selectionStart); |
27 | 27 |
28 if (element.selectionEnd != end) | 28 if (element.selectionEnd != end) |
29 testFailed('element.selectionEnd' + ' should be ' + end + ' but it is '
+ element.selectionEnd); | 29 testFailed('element.selectionEnd' + ' should be ' + end + ' but it is '
+ element.selectionEnd); |
30 else | 30 else |
31 testPassed('element.selectionEnd' + ' is ' + element.selectionEnd); | 31 testPassed('element.selectionEnd' + ' is ' + element.selectionEnd); |
32 } | 32 } |
33 | 33 |
34 function testHandler(element) { | 34 function testHandler(element) { |
35 var offsets = [[0, 10], [0, 9], [1, 10], [5,5], [8,5], [-1,0], [-1,50]]; | 35 var offsets = [[0, 10], [0, 9], [1, 10], [5,5], [8,5], [-1,0], [-1,50]]; |
36 for (var i = 0; i < offsets.length; i++) | 36 for (var i = 0; i < offsets.length; i++) |
37 startTest(element, offsets[i][0], offsets[i][1]); | 37 startTest(element, offsets[i][0], offsets[i][1]); |
38 } | 38 } |
39 | 39 |
40 testHandler(document.getElementById('text')); | 40 testHandler(document.getElementById('text')); |
41 testHandler(document.getElementById('area')); | 41 testHandler(document.getElementById('area')); |
42 | 42 |
43 </script> | 43 </script> |
44 </body> | 44 </body> |
45 </html> | 45 </html> |
46 | 46 |
OLD | NEW |