OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3
.org/1999/xlink" width="400" height="400" viewBox="0 0 350 350" style="border: 1
px solid black;"> |
| 3 <g> |
| 4 <text id="line1" x="10" y="70" font-family="Arial" font-size="10" fill="blac
k">Hello World. Hello, SVG.</text> |
| 5 </g> |
| 6 <g transform="translate(100, 50)"> |
| 7 <g transform="rotate(20) scale(2)"> |
| 8 <text x="10" y="70" font-family="Arial" font-size="10" fill="black">Hell
o World. Hello, SVG.</text> |
| 9 <text id="line2" x="10" y="80" font-family="Arial" font-size="10" fill="
black">Hello World. Hello, SVG.</text> |
| 10 </g> |
| 11 </g> |
| 12 </svg> |
| 13 <script src="../../resources/js-test.js"></script> |
| 14 <script src="resources/SelectionTestCase.js"></script> |
| 15 <script type="text/javascript"> |
| 16 var range; |
| 17 function runTest() { |
| 18 selectText('line1', 0, 10); |
| 19 verify("0", "11"); |
| 20 |
| 21 selectText('line1', 6, 10); |
| 22 verify("6", "11"); |
| 23 |
| 24 selectText('line1', 12, 23); |
| 25 verify("12", "24"); |
| 26 |
| 27 selectText('line2', 0, 10); |
| 28 verify("0", "11"); |
| 29 |
| 30 selectText('line2', 6, 10); |
| 31 verify("6", "11"); |
| 32 |
| 33 selectText('line2', 12, 23); |
| 34 verify("12", "24"); |
| 35 } |
| 36 |
| 37 function verify(start, end) { |
| 38 range = window.getSelection().getRangeAt(0); |
| 39 shouldBe("range.startOffset", start); |
| 40 shouldBe("range.endOffset", end); |
| 41 if (window.eventSender) { |
| 42 eventSender.mouseMoveTo(0, 0); |
| 43 eventSender.mouseDown(); |
| 44 eventSender.mouseUp(); |
| 45 } |
| 46 } |
| 47 |
| 48 function selectText(id, start, end) { |
| 49 var element = document.getElementById(id); |
| 50 var startPos = element.getStartPositionOfChar(start); |
| 51 startPos.y += (element.getBBox().height * 1.5); |
| 52 var endPos = element.getEndPositionOfChar(end); |
| 53 endPos.y += (element.getBBox().height * 1.5); |
| 54 var absStartPos = toAbsoluteCoordinates(startPos, element); |
| 55 var absEndPos = toAbsoluteCoordinates(endPos, element); |
| 56 if (window.eventSender) { |
| 57 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 58 eventSender.mouseDown(); |
| 59 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 60 eventSender.mouseUp(); |
| 61 } |
| 62 } |
| 63 runTest(); |
| 64 </script> |
OLD | NEW |