| OLD | NEW | 
| (Empty) |  | 
 |   1 <!DOCTYPE html> | 
 |   2 <style> | 
 |   3 text { | 
 |   4   font: 10px Arial; | 
 |   5 } | 
 |   6 </style> | 
 |   7 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlin
    k" width="400" height="400" viewBox="0 0 500 500" style="border: 1px solid black
    ;"> | 
 |   8   <g> | 
 |   9     <text id="line1" x="10" y="30">Hello World. Hello, SVG.</text> | 
 |  10   </g> | 
 |  11   <g transform="translate(120, 30)"> | 
 |  12     <text id="line2" x="50" y="50">Hello World. Hello, SVG.</text> | 
 |  13   </g> | 
 |  14   <g transform="translate(240, 30)"> | 
 |  15     <text id="line3" x="100" y="100">Hello World. Hello, SVG.</text> | 
 |  16   </g> | 
 |  17 </svg> | 
 |  18 <script src="../../resources/js-test.js"></script> | 
 |  19 <script src="resources/SelectionTestCase.js"></script> | 
 |  20 <script type="text/javascript"> | 
 |  21 function getEndPosition(id, offset, gap) { | 
 |  22   var element = document.getElementById(id); | 
 |  23   var endPos = element.getEndPositionOfChar(offset); | 
 |  24   endPos.x += gap.x; | 
 |  25   endPos.y += gap.y; | 
 |  26   var absEndPos = toAbsoluteCoordinates(endPos, element); | 
 |  27   return absEndPos; | 
 |  28 } | 
 |  29  | 
 |  30 var absEndPos = getEndPosition('line3', 10, { x : 0, y : 30}); | 
 |  31 selectTextFromCharToPoint({ id: 'line1', offset: 7 }, absEndPos, { startElementI
    d: "line1", start: "7", endElementId: "line3", end: "11" }); | 
 |  32  | 
 |  33 absEndPos = getEndPosition('line2', 10, { x : 0, y : 30}); | 
 |  34 selectTextFromCharToPoint({ id: 'line1', offset: 7 }, absEndPos, { startElementI
    d: "line1", start: "7",  endElementId: "line2", end: "11" }); | 
 |  35  | 
 |  36 absEndPos = getEndPosition('line3', 10, { x : 0, y : 30}); | 
 |  37 selectTextFromCharToPoint({ id: 'line2', offset: 7 }, absEndPos, { startElementI
    d: "line2", start: "7",  endElementId: "line3", end: "11" }); | 
 |  38  | 
 |  39 absEndPos = getEndPosition('line1', 8, { x : 0, y : -30}); | 
 |  40 selectTextFromCharToPoint({ id: 'line3', offset: 7 }, absEndPos, { startElementI
    d: "line3", start: "7",  endElementId: "line1", end: "9" }); | 
 |  41  | 
 |  42 absEndPos = getEndPosition('line1', 8, { x : 0, y : -30}); | 
 |  43 selectTextFromCharToPoint({ id: 'line2', offset: 7 }, absEndPos, { startElementI
    d: "line2", start: "7",  endElementId: "line1", end: "9" }); | 
 |  44  | 
 |  45 absEndPos = getEndPosition('line2', 8, { x : 0, y : -30}); | 
 |  46 selectTextFromCharToPoint({ id: 'line3', offset: 7 }, absEndPos, { startElementI
    d: "line3", start: "7",  endElementId: "line2", end: "9" }); | 
 |  47 </script> | 
| OLD | NEW |