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="300"> |
| 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 <text id="text4" x="20" y="230" fill="black" transform="scale(0.5)" font-size=
"40"> happy debugging !!</text> |
| 10 </svg> |
| 11 <div id="passfail"> |
| 12 </div> |
| 13 <script src="../../resources/js-test.js"></script> |
| 14 <script src="resources/SelectionTestCase.js"></script> |
| 15 <script type="text/javascript"> |
| 16 var range; |
| 17 var a, b; |
| 18 function runTest() { |
| 19 var text1 = document.getElementById('text1'); |
| 20 var text2 = document.getElementById('text2'); |
| 21 var text3 = document.getElementById('text3'); |
| 22 var text4 = document.getElementById('text4'); |
| 23 |
| 24 if (!window.testRunner) |
| 25 return; |
| 26 |
| 27 var startPos = text1.getStartPositionOfChar(0); |
| 28 var endPos = text1.getEndPositionOfChar(3); |
| 29 var absStartPos = toAbsoluteCoordinates(startPos, text1); |
| 30 var absEndPos = toAbsoluteCoordinates(endPos, text1); |
| 31 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 32 eventSender.mouseDown(); |
| 33 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 34 eventSender.mouseUp(); |
| 35 verify("5", "9"); |
| 36 |
| 37 var startPos = text1.getStartPositionOfChar(0); |
| 38 var endPos = text1.getEndPositionOfChar(8); |
| 39 var absStartPos = toAbsoluteCoordinates(startPos, text1); |
| 40 var absEndPos = toAbsoluteCoordinates(endPos, text1); |
| 41 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 42 eventSender.mouseDown(); |
| 43 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 44 eventSender.mouseUp(); |
| 45 verify("5", "24"); |
| 46 |
| 47 var startPos = text2.getStartPositionOfChar(0); |
| 48 var endPos = text2.getEndPositionOfChar(3); |
| 49 var absStartPos = toAbsoluteCoordinates(startPos, text2); |
| 50 var absEndPos = toAbsoluteCoordinates(endPos, text2); |
| 51 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 52 eventSender.mouseDown(); |
| 53 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 54 eventSender.mouseUp(); |
| 55 verify("0", "4"); |
| 56 |
| 57 var startPos = text2.getStartPositionOfChar(0); |
| 58 var endPos = text2.getEndPositionOfChar(8); |
| 59 var absStartPos = toAbsoluteCoordinates(startPos, text2); |
| 60 var absEndPos = toAbsoluteCoordinates(endPos, text2); |
| 61 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 62 eventSender.mouseDown(); |
| 63 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 64 eventSender.mouseUp(); |
| 65 verify("0", "14"); |
| 66 |
| 67 var startPos = text3.getStartPositionOfChar(0); |
| 68 var endPos = text3.getEndPositionOfChar(3); |
| 69 var absStartPos = toAbsoluteCoordinates(startPos, text3); |
| 70 var absEndPos = toAbsoluteCoordinates(endPos, text3); |
| 71 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 72 eventSender.mouseDown(); |
| 73 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 74 eventSender.mouseUp(); |
| 75 verify("0", "4"); |
| 76 |
| 77 var startPos = text3.getStartPositionOfChar(0); |
| 78 var endPos = text3.getEndPositionOfChar(10); |
| 79 var absStartPos = toAbsoluteCoordinates(startPos, text3); |
| 80 var absEndPos = toAbsoluteCoordinates(endPos, text3); |
| 81 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y); |
| 82 eventSender.mouseDown(); |
| 83 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y); |
| 84 eventSender.mouseUp(); |
| 85 verify("0", "15"); |
| 86 |
| 87 var startPos = text4.getStartPositionOfChar(0); |
| 88 var endPos = text4.getEndPositionOfChar(3); |
| 89 var absStartPos = toAbsoluteCoordinates(startPos, text4); |
| 90 var absEndPos = toAbsoluteCoordinates(endPos, text4); |
| 91 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y - 15); |
| 92 eventSender.mouseDown(); |
| 93 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y - 15); |
| 94 eventSender.mouseUp(); |
| 95 verify("5", "9"); |
| 96 |
| 97 var startPos = text4.getStartPositionOfChar(0); |
| 98 var endPos = text4.getEndPositionOfChar(8); |
| 99 var absStartPos = toAbsoluteCoordinates(startPos, text4); |
| 100 var absEndPos = toAbsoluteCoordinates(endPos, text4); |
| 101 eventSender.mouseMoveTo(absStartPos.x, absStartPos.y - 15); |
| 102 eventSender.mouseDown(); |
| 103 eventSender.mouseMoveTo(absEndPos.x, absEndPos.y - 15); |
| 104 eventSender.mouseUp(); |
| 105 verify("5", "24"); |
| 106 } |
| 107 |
| 108 function verify(start, end) { |
| 109 range = window.getSelection().getRangeAt(0); |
| 110 shouldBe("range.startOffset", start); |
| 111 shouldBe("range.endOffset", end); |
| 112 eventSender.mouseMoveTo(0,0); |
| 113 eventSender.mouseDown(); |
| 114 eventSender.mouseUp(); |
| 115 } |
| 116 |
| 117 runTest(); |
| 118 </script> |
OLD | NEW |