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"> | |
fs
2015/04/28 08:57:03
I don't see this <div> used for anything.
| |
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; | |
fs
2015/04/28 08:57:03
What uses 'a' and 'b'? Remove?
| |
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); | |
fs
2015/04/28 08:57:03
You could roll these chunks of code into a functio
| |
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); | |
fs
2015/04/28 08:57:03
Why does this (and the following) need to subtract
| |
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 |