Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: LayoutTests/svg/text/select-svg-text-with-collapsed-whitespace.html

Issue 1072403007: Fixup a bug about SVG text selection. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: add a line. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698