OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>Test for selection with collapsed whitespace</title> |
| 3 <body> |
| 4 This test checks that characters can be selected correctly with collapsed whites
pace. |
| 5 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin
k" width="300" height="150"> |
| 6 <text id="text1" x="20" y="20"> happy debugging !!</text> |
| 7 <text id="text2" x="20" y="40"> <tspan id="tspan1" style="font-weight: bol
d;">happy</tspan> debugging !!</text> |
| 8 <text id="text3" x="20" y="80"> <tspan id="tspan2" style="font-size: 25px;
">happy</tspan> debugging !!</text> |
| 9 </svg> |
| 10 <div id="passfail"> |
| 11 </div> |
| 12 <script src="../../resources/js-test.js"></script> |
| 13 <script type="text/javascript"> |
| 14 var range; |
| 15 var a, b; |
| 16 function runTest() { |
| 17 var text1 = document.getElementById('text1'); |
| 18 var text2 = document.getElementById('text2'); |
| 19 var text3 = document.getElementById('text3'); |
| 20 |
| 21 if (!window.testRunner) |
| 22 return; |
| 23 |
| 24 var textWidth1 = text1.offsetWidth; |
| 25 var estCharWidth1 = textWidth1 / 18; |
| 26 eventSender.mouseMoveTo(text1.offsetLeft + 2, text1.offsetTop); |
| 27 eventSender.mouseDown(); |
| 28 eventSender.mouseMoveTo(text1.offsetLeft + (estCharWidth1 * 3) + 2, text1.of
fsetTop); |
| 29 eventSender.mouseUp(); |
| 30 verify("5", "8"); |
| 31 eventSender.mouseMoveTo(text1.offsetLeft + 2, text1.offsetTop); |
| 32 eventSender.mouseDown(); |
| 33 eventSender.mouseMoveTo(text1.offsetLeft + (estCharWidth1 * 4) + 2, text1.of
fsetTop); |
| 34 eventSender.mouseUp(); |
| 35 verify("5", "9"); |
| 36 |
| 37 var tspan1 = document.getElementById('tspan1'); |
| 38 var textWidth2 = tspan1.offsetWidth; |
| 39 var estCharWidth2 = textWidth2 / 5; |
| 40 eventSender.mouseMoveTo(text2.offsetLeft + 2, text2.offsetTop); |
| 41 eventSender.mouseDown(); |
| 42 eventSender.mouseMoveTo(text2.offsetLeft + (estCharWidth2 * 4) + 2, text2.of
fsetTop); |
| 43 eventSender.mouseUp(); |
| 44 verify("0", "4"); |
| 45 eventSender.mouseMoveTo(text2.offsetLeft + 2, text2.offsetTop); |
| 46 eventSender.mouseDown(); |
| 47 eventSender.mouseMoveTo(text2.offsetLeft + (estCharWidth2 * 5) + (estCharWid
th1 * 4) + 2, text2.offsetTop); |
| 48 eventSender.mouseUp(); |
| 49 verify("0", "14"); |
| 50 |
| 51 var tspan2 = document.getElementById('tspan2'); |
| 52 var textWidth3 = tspan2.offsetWidth; |
| 53 var estCharWidth3 = textWidth3 / 5; |
| 54 eventSender.mouseMoveTo(text3.offsetLeft + 2, text3.offsetTop + 10); |
| 55 eventSender.mouseDown(); |
| 56 eventSender.mouseMoveTo(text3.offsetLeft + (estCharWidth3 * 4) + 2, text3.of
fsetTop + 10); |
| 57 eventSender.mouseUp(); |
| 58 verify("0", "4"); |
| 59 eventSender.mouseMoveTo(text3.offsetLeft + 2, text3.offsetTop + 10); |
| 60 eventSender.mouseDown(); |
| 61 eventSender.mouseMoveTo(text3.offsetLeft + (estCharWidth3 * 5) + (estCharWid
th1 * 6) + 2, text3.offsetTop + 10); |
| 62 eventSender.mouseUp(); |
| 63 verify("0", "15"); |
| 64 } |
| 65 |
| 66 function verify(start, end) { |
| 67 range = window.getSelection().getRangeAt(0); |
| 68 shouldBe("range.startOffset", start); |
| 69 shouldBe("range.endOffset", end); |
| 70 eventSender.mouseMoveTo(0,0); |
| 71 eventSender.mouseDown(); |
| 72 eventSender.mouseUp(); |
| 73 } |
| 74 |
| 75 runTest(); |
| 76 </script> |
OLD | NEW |