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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/Range/range-expand.html

Issue 1987983002: Remove Range.expand() method Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/dom/Range/range-expand-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <html>
2 <head>
3 <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8">
4 <title>Test for Range.expand()</title>
5 <script>
6 function log(str)
7 {
8 var li = document.createElement("li");
9 li.appendChild(document.createTextNode(str));
10 var console = document.getElementById("console");
11 console.appendChild(li);
12 }
13
14 function assertEqual(test_name, actual, expected)
15 {
16 if (actual != expected) {
17 log("==================================");
18 log("FAILED test " + test_name);
19 log("actual: " + actual);
20 log("expected: " + expected);
21 if (actual.length != expected.length) {
22 log("length !=" + "; actual.length: " + actual.length + "; expected. length: " + expected.length);
23 log("escaped actual: " + escape(actual));
24 log("escaped expected: " + escape(expected));
25 var length = actual.length;
26 if (actual.length > expected.length)
27 length = expected.length;
28 for (var i=0; i<length; ++i) {
29 log("i: " + i + "; actual: " + actual[i] + "; expected: " + expe cted[i]);
30 if (actual[i] != expected[i])
31 log("!=");
32 }
33 }
34 else {
35 log("actual: " + escape(actual));
36 log("expected: " + escape(expected));
37 for (var i=0; i<actual.length; ++i) {
38 log("i: " + i + "; actual: " + actual[i] + "; expected: " + expe cted[i]);
39 if (actual[i] != expected[i])
40 log("!=");
41 }
42
43 }
44 }
45 }
46
47 function expandRangeString(range, startId, startOffset, endId, endOffset, expand Unit, firstChild)
48 {
49 var startNode = document.getElementById(startId);
50 if (firstChild == true)
51 startNode = startNode.firstChild;
52 var endNode = document.getElementById(endId);
53 if (firstChild == true)
54 endNode = endNode.firstChild;
55 range.setStart(startNode, startOffset);
56 range.setEnd(endNode, endOffset);
57 range.expand(expandUnit);
58 return range.toString();
59 }
60
61 function test()
62 {
63 if (window.testRunner)
64 testRunner.dumpAsText();
65
66 // test 1 - Expand to document.
67 var range = document.createRange();
68 var actual = expandRangeString(range, 'myspan', 0, 'myspan', 0, 'document', false);
69 var expected = 'This is the begin of a block. A block is a collection of sen tences. Each sentence begins with capital\x0Aletter and ends with a punctuation. \x0A\x0ANow, a sentence\x0Ais divided into\x0Amultiple lines.\x0A\x0ARoll the mo use around the page. The coordinates\x0Aof the mouse pointer are currently atop an elementwhose ID \x0Ais:"".\x0A\x0A\x0A\x0A Cell A1\x0A Cell B1\x0A\x0A\ x0A Cell A2\x0A Cell B2\x0A\x0A\x0ASection 1\x0Atext.\x0ASection 2\x0Atext .\x0A\x0AHere is a positioned element.\x0A在甲型H1N1流感可能出现大流行的警告声中,昨天召开的江苏省2009-201 0年度流感防制研讨会注定与往年不同。每年都会召开的一次例会,今年足足提前了一个月;会上研讨的主题,已从以前的季节性流感,变成以甲型H1N1流感为重点。\x0Aב לשכת שר החוץ הגיבו להתקפות עליו בעקבות הנחייתו לדרוש מהמועמדים לקורס צוערים שירו ת צבאי או לאומי: "המתקיפים צבועים, מי שרוצה לייצג את המדינה רוצה גם לשרת אותה"'
70 assertEqual("document1", actual, expected);
71
72 // test 2 - Expand to block.
73 actual = expandRangeString(range, 'td_A1', 0, 'td_A1', 0, 'block', false);
74 assertEqual("block2", actual, "Cell A1");
75
76 // test 3 - Expand to block, different range start and end offset.
77 actual = expandRangeString(range, 'td_A1', 1, 'td_A1', 2, 'block', true);
78 assertEqual("block3", actual, "Cell A1");
79
80 // test 4 - Expand to block, different range start and end node.
81 actual = expandRangeString(range, 'td_A1', 0, 'td_B1', 0, 'block', false);
82 assertEqual("block4", actual, "Cell A1\x0A Cell B1");
83
84 // test 5 - Expand to sentence.
85 actual = expandRangeString(range, 'instructions', 0, 'instructions', 0, 'sen tence', false);
86 assertEqual("sentence5", actual, "Roll the mouse around the page. ");
87
88 // test 6 - Expand to sentence, different range start and end offset.
89 actual = expandRangeString(range, 'instructions', 1, 'instructions', 2, 'sen tence', true);
90 assertEqual("sentence6", actual, "Roll the mouse around the page. ");
91
92 // test 7 - Expand to sentence, different range start and end node.
93 actual = expandRangeString(range, 'instructions', 0, 'mybr', 0, 'sentence', false);
94 assertEqual("sentence7", actual, "Roll the mouse around the page. The coordi nates\x0Aof the mouse pointer are currently atop an element");
95
96 // test 8 - Sentence does not go upstream?
97 actual = expandRangeString(range, 'multilineSentence', 0, 'multilineSentence ', 0, 'sentence', false);
98 assertEqual("sentence8", actual, "Now, a sentence\x0Ais divided into\x0Amult iple lines.");
99
100 actual = expandRangeString(range, 'multilineSentence', 1, 'multilineSentence ', 5, 'sentence', true);
101 assertEqual("sentence9", actual, "Now, a sentence\x0Ais divided into\x0Amult iple lines.");
102
103 actual = expandRangeString(range, 'multilineSentence', 20, 'multilineSentenc e', 20, 'sentence', true);
104 assertEqual("sentence10", actual, "is divided into\x0Amultiple lines.");
105
106 actual = expandRangeString(range, 'multilineSentence', 40, 'multilineSentenc e', 40, 'sentence', true);
107 assertEqual("sentence11", actual, "multiple lines.");
108
109 // Expand word.
110 // Same range start and end, both at the begin of word.
111 actual = expandRangeString(range, 'mydiv', 0, 'mydiv', 0, 'word', false);
112 assertEqual("word1", actual, "Here");
113
114 // Same range start and end, both at the begin of a word.
115 actual = expandRangeString(range, 'mydiv', 1, 'mydiv', 1, 'word', true);
116 assertEqual("word2", actual, "Here");
117
118 // Same range start and end, both at the middle of a word.
119 actual = expandRangeString(range, 'mydiv', 3, 'mydiv', 3, 'word', true);
120 assertEqual("word3", actual, "Here");
121
122 // Same range start and end, both at the end of a word.
123 actual = expandRangeString(range, 'mydiv', 4, 'mydiv', 4, 'word', true);
124 assertEqual("word4", actual, "Here");
125
126 // Different range start and end offset, both at the middle of a word.
127 actual = expandRangeString(range, 'mydiv', 2, 'mydiv', 3, 'word', true);
128 assertEqual("word5", actual, "Here");
129
130 // Different range start and end offset, start at the begin of a word,
131 // and end at the end of a word.
132 actual = expandRangeString(range, 'mydiv', 5, 'mydiv', 4, 'word', true);
133 assertEqual("word6", actual, "Here");
134
135 // Different range start and end offset, start at the begin of a word,
136 // and end at the middle of a word.
137 actual = expandRangeString(range, 'mydiv', 1, 'mydiv', 3, 'word', true);
138 assertEqual("word7", actual, "Here");
139
140 // Different range start and end offset, start at the middle of a word,
141 // and end at the end of a word.
142 actual = expandRangeString(range, 'mydiv', 2, 'mydiv', 4, 'word', true);
143 assertEqual("word8", actual, "Here");
144
145 // Across more than 1 word.
146 // Start at the begin of 1st word, end at the end of last word.
147 actual = expandRangeString(range, 'mydiv', 1, 'mydiv', 7, 'word', true);
148 assertEqual("word9", actual, "Here is");
149
150 // Start at the middle of 1st word, end at the middle of last word.
151 actual = expandRangeString(range, 'mydiv', 2, 'mydiv', 6, 'word', true);
152 assertEqual("word10", actual, "Here is");
153
154 // Start at the begin of 1st word, end at the middle of last word.
155 actual = expandRangeString(range, 'mydiv', 1, 'mydiv', 6, 'word', true);
156 assertEqual("word11", actual, "Here is");
157
158 // Start at the middle of 1st word, end at the end of last word.
159 actual = expandRangeString(range, 'mydiv', 2, 'mydiv', 7, 'word', true);
160 assertEqual("word12", actual, "Here is");
161
162 // Word and space.
163 actual = expandRangeString(range, 'mydiv', 4, 'mydiv', 5, 'word', true);
164 assertEqual("word13", actual, "Here ");
165
166 // Word across different nodes.
167 actual = expandRangeString(range, 'mydiv', 1, 'he-div', 0, 'word', true);
168 assertEqual("word14", actual, "Here is a positioned element.\x0A在甲型H1N1流感可能出 现大流行的警告声中,昨天召开的江苏省2009-2010年度流感防制研讨会注定与往年不同。每年都会召开的一次例会,今年足足提前了一个月;会上研讨的主题,已从以前的 季节性流感,变成以甲型H1N1流感为重点。\x0Aבלשכת");
169
170 // Test for Chinese. No Chinese segmentation in platform/mac.
171 actual = expandRangeString(range, 'zh-CN-div', 0, 'zh-CN-div', 0, 'word', tr ue);
172 assertEqual("Chinese word0", actual, "在");
173 actual = expandRangeString(range, 'zh-CN-div', 1, 'zh-CN-div', 1, 'word', tr ue);
174 assertEqual("Chinese word1", actual, "甲");
175 actual = expandRangeString(range, 'zh-CN-div', 2, 'zh-CN-div', 2, 'word', tr ue);
176 assertEqual("Chinese word1", actual, "型");
177
178 actual = expandRangeString(range, 'zh-CN-div', 3, 'zh-CN-div', 3, 'sentence' , true);
179 assertEqual("Chinese sentence: ", actual, "在甲型H1N1流感可能出现大流行的警告声中,昨天召开的江苏省200 9-2010年度流感防制研讨会注定与往年不同。");
180
181 actual = expandRangeString(range, 'zh-CN-div', 3, 'zh-CN-div', 3, 'block', t rue);
182 assertEqual("Chinese block: ", actual, "在甲型H1N1流感可能出现大流行的警告声中,昨天召开的江苏省2009-2 010年度流感防制研讨会注定与往年不同。每年都会召开的一次例会,今年足足提前了一个月;会上研讨的主题,已从以前的季节性流感,变成以甲型H1N1流感为重点。");
183
184 // Test for Hebrew.
185 actual = expandRangeString(range, 'he-div', 1, 'he-div', 1, 'word', true);
186 assertEqual("Hebrew word", actual, "בלשכת");
187
188 actual = expandRangeString(range, 'he-div', 1, 'he-div', 1, 'sentence', true );
189 assertEqual("Hebrew sentence", actual, 'בלשכת שר החוץ הגיבו להתקפות עליו בעק בות הנחייתו לדרוש מהמועמדים לקורס צוערים שירות צבאי או לאומי: "המתקיפים צבועים, מי שרוצה לייצג את המדינה רוצה גם לשרת אותה"' );
190
191 actual = expandRangeString(range, 'he-div', 0, 'he-div', 0, 'sentence', fals e);
192 assertEqual("Hebrew block", actual, 'בלשכת שר החוץ הגיבו להתקפות עליו בעקבות הנחייתו לדרוש מהמועמדים לקורס צוערים שירות צבאי או לאומי: "המתקיפים צבועים, מי שרוצה לייצג את המדינה רוצה גם לשרת אותה"' );
193 }
194 </script>
195 <body onload="test()">
196 <p>This is the begin of a block. A block is a collection of sentences. Each sent ence begins with capital
197 letter and ends with a punctuation.
198 </p>
199 <p id="multilineSentence">Now, a sentence
200 is divided into
201 multiple lines.
202 </p>
203 <p id="instructions">Roll the mouse around the page. The coordinates
204 of the mouse pointer are currently atop an element<br id="mybr">whose ID
205 is:"<span id="myspan" style="font-weight:bold"></span>".</p>
206
207 <table border=1 id="myTable">
208 <tr id="tr1">
209 <td id="td_A1">Cell A1</td>
210 <td id="td_B1">Cell B1</td>
211 </tr>
212 <tr id="tr2">
213 <td id="td_A2">Cell A2</td>
214 <td id="td_B2">Cell B2</td>
215 </tr>
216 </table>
217 <h2 id="sec1">Section 1</h2>
218 <p id="p1">text.</p>
219 <h2 id="sec2">Section 2</h2>
220 <p id="p2">text.</p>
221 <div id="mydiv" style="position:absolute; top:340; left:300; background-color:ye llow">
222 Here is a positioned element.</div>
223 <div id="zh-CN-div">在甲型H1N1流感可能出现大流行的警告声中,昨天召开的江苏省2009-2010年度流感防制研讨会注定与往年不同。每年都会 召开的一次例会,今年足足提前了一个月;会上研讨的主题,已从以前的季节性流感,变成以甲型H1N1流感为重点。</div>
224 <div id="he-div">בלשכת שר החוץ הגיבו להתקפות עליו בעקבות הנחייתו לדרוש מהמועמדים לקורס צוערים שירות צבאי או לאומי: "המתקיפים צבועים, מי שרוצה לייצג את המדינה רו צה גם לשרת אותה"</div>
225 <ul id="console"></ul>
226
227 </body>
228 </html>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/fast/dom/Range/range-expand-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698