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

Side by Side Diff: third_party/WebKit/Source/core/editing/PositionIteratorTest.cpp

Issue 2950053002: Make Position::BeforeNode() to take const Node& instead of Node* (Closed)
Patch Set: 2017-06-21T17:56:36 Created 3 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/editing/PositionIterator.h" 5 #include "core/editing/PositionIterator.h"
6 6
7 #include "core/dom/shadow/FlatTreeTraversal.h" 7 #include "core/dom/shadow/FlatTreeTraversal.h"
8 #include "core/editing/EditingTestBase.h" 8 #include "core/editing/EditingTestBase.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 class PositionIteratorTest : public EditingTestBase {}; 12 class PositionIteratorTest : public EditingTestBase {};
13 13
14 // For http://crbug.com/695317 14 // For http://crbug.com/695317
15 TEST_F(PositionIteratorTest, decrementWithInputElement) { 15 TEST_F(PositionIteratorTest, decrementWithInputElement) {
16 SetBodyContent("123<input value='abc'>"); 16 SetBodyContent("123<input value='abc'>");
17 Element* const input = GetDocument().QuerySelector("input"); 17 Element* const input = GetDocument().QuerySelector("input");
18 Node* const text = input->previousSibling(); 18 Node* const text = input->previousSibling();
19 19
20 // Decrement until start of "123" from INPUT on DOM tree 20 // Decrement until start of "123" from INPUT on DOM tree
21 PositionIterator dom_iterator( 21 PositionIterator dom_iterator(
22 Position::LastPositionInNode(GetDocument().body())); 22 Position::LastPositionInNode(GetDocument().body()));
23 EXPECT_EQ(Position::LastPositionInNode(GetDocument().body()), 23 EXPECT_EQ(Position::LastPositionInNode(GetDocument().body()),
24 dom_iterator.ComputePosition()); 24 dom_iterator.ComputePosition());
25 dom_iterator.Decrement(); 25 dom_iterator.Decrement();
26 EXPECT_EQ(Position::AfterNode(input), dom_iterator.ComputePosition()); 26 EXPECT_EQ(Position::AfterNode(input), dom_iterator.ComputePosition());
27 dom_iterator.Decrement(); 27 dom_iterator.Decrement();
28 EXPECT_EQ(Position::BeforeNode(input), dom_iterator.ComputePosition()); 28 EXPECT_EQ(Position::BeforeNode(*input), dom_iterator.ComputePosition());
29 dom_iterator.Decrement(); 29 dom_iterator.Decrement();
30 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition()); 30 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition());
31 dom_iterator.Decrement(); 31 dom_iterator.Decrement();
32 EXPECT_EQ(Position(text, 3), dom_iterator.ComputePosition()); 32 EXPECT_EQ(Position(text, 3), dom_iterator.ComputePosition());
33 33
34 // Decrement until start of "123" from INPUT on flat tree 34 // Decrement until start of "123" from INPUT on flat tree
35 PositionIteratorInFlatTree flat_iterator( 35 PositionIteratorInFlatTree flat_iterator(
36 PositionInFlatTree::LastPositionInNode(GetDocument().body())); 36 PositionInFlatTree::LastPositionInNode(GetDocument().body()));
37 EXPECT_EQ(PositionInFlatTree::LastPositionInNode(GetDocument().body()), 37 EXPECT_EQ(PositionInFlatTree::LastPositionInNode(GetDocument().body()),
38 flat_iterator.ComputePosition()); 38 flat_iterator.ComputePosition());
39 flat_iterator.Decrement(); 39 flat_iterator.Decrement();
40 EXPECT_EQ(PositionInFlatTree::AfterNode(input), 40 EXPECT_EQ(PositionInFlatTree::AfterNode(input),
41 flat_iterator.ComputePosition()); 41 flat_iterator.ComputePosition());
42 flat_iterator.Decrement(); 42 flat_iterator.Decrement();
43 EXPECT_EQ(PositionInFlatTree::BeforeNode(input), 43 EXPECT_EQ(PositionInFlatTree::BeforeNode(*input),
44 flat_iterator.ComputePosition()); 44 flat_iterator.ComputePosition());
45 flat_iterator.Decrement(); 45 flat_iterator.Decrement();
46 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1), 46 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1),
47 flat_iterator.ComputePosition()); 47 flat_iterator.ComputePosition());
48 flat_iterator.Decrement(); 48 flat_iterator.Decrement();
49 EXPECT_EQ(PositionInFlatTree(text, 3), flat_iterator.ComputePosition()); 49 EXPECT_EQ(PositionInFlatTree(text, 3), flat_iterator.ComputePosition());
50 } 50 }
51 51
52 TEST_F(PositionIteratorTest, decrementWithSelectElement) { 52 TEST_F(PositionIteratorTest, decrementWithSelectElement) {
53 SetBodyContent("123<select><option>1</option><option>2</option></select>"); 53 SetBodyContent("123<select><option>1</option><option>2</option></select>");
54 Element* const select = GetDocument().QuerySelector("select"); 54 Element* const select = GetDocument().QuerySelector("select");
55 Node* text = select->previousSibling(); 55 Node* text = select->previousSibling();
56 56
57 // Decrement until start of "123" from SELECT on DOM tree 57 // Decrement until start of "123" from SELECT on DOM tree
58 PositionIterator dom_iterator( 58 PositionIterator dom_iterator(
59 Position::LastPositionInNode(GetDocument().body())); 59 Position::LastPositionInNode(GetDocument().body()));
60 EXPECT_EQ(Position::LastPositionInNode(GetDocument().body()), 60 EXPECT_EQ(Position::LastPositionInNode(GetDocument().body()),
61 dom_iterator.ComputePosition()); 61 dom_iterator.ComputePosition());
62 dom_iterator.Decrement(); 62 dom_iterator.Decrement();
63 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition()); 63 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition());
64 dom_iterator.Decrement(); 64 dom_iterator.Decrement();
65 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition()) 65 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition())
66 << "This is redundant result, we should not have. see " 66 << "This is redundant result, we should not have. see "
67 "http://crbug.com/697283"; 67 "http://crbug.com/697283";
68 dom_iterator.Decrement(); 68 dom_iterator.Decrement();
69 EXPECT_EQ(Position::BeforeNode(select), dom_iterator.ComputePosition()); 69 EXPECT_EQ(Position::BeforeNode(*select), dom_iterator.ComputePosition());
70 dom_iterator.Decrement(); 70 dom_iterator.Decrement();
71 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition()); 71 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition());
72 dom_iterator.Decrement(); 72 dom_iterator.Decrement();
73 EXPECT_EQ(Position(text, 3), dom_iterator.ComputePosition()); 73 EXPECT_EQ(Position(text, 3), dom_iterator.ComputePosition());
74 74
75 // Decrement until start of "123" from SELECT on flat tree 75 // Decrement until start of "123" from SELECT on flat tree
76 PositionIteratorInFlatTree flat_iterator( 76 PositionIteratorInFlatTree flat_iterator(
77 PositionInFlatTree::LastPositionInNode(GetDocument().body())); 77 PositionInFlatTree::LastPositionInNode(GetDocument().body()));
78 EXPECT_EQ(PositionInFlatTree::LastPositionInNode(GetDocument().body()), 78 EXPECT_EQ(PositionInFlatTree::LastPositionInNode(GetDocument().body()),
79 flat_iterator.ComputePosition()); 79 flat_iterator.ComputePosition());
80 flat_iterator.Decrement(); 80 flat_iterator.Decrement();
81 EXPECT_EQ(PositionInFlatTree::AfterNode(select), 81 EXPECT_EQ(PositionInFlatTree::AfterNode(select),
82 flat_iterator.ComputePosition()); 82 flat_iterator.ComputePosition());
83 flat_iterator.Decrement(); 83 flat_iterator.Decrement();
84 EXPECT_EQ(PositionInFlatTree::AfterNode(select), 84 EXPECT_EQ(PositionInFlatTree::AfterNode(select),
85 flat_iterator.ComputePosition()) 85 flat_iterator.ComputePosition())
86 << "This is redundant result, we should not have. see " 86 << "This is redundant result, we should not have. see "
87 "http://crbug.com/697283"; 87 "http://crbug.com/697283";
88 flat_iterator.Decrement(); 88 flat_iterator.Decrement();
89 EXPECT_EQ(PositionInFlatTree::BeforeNode(select), 89 EXPECT_EQ(PositionInFlatTree::BeforeNode(*select),
90 flat_iterator.ComputePosition()); 90 flat_iterator.ComputePosition());
91 flat_iterator.Decrement(); 91 flat_iterator.Decrement();
92 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1), 92 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1),
93 flat_iterator.ComputePosition()); 93 flat_iterator.ComputePosition());
94 flat_iterator.Decrement(); 94 flat_iterator.Decrement();
95 EXPECT_EQ(PositionInFlatTree(text, 3), flat_iterator.ComputePosition()); 95 EXPECT_EQ(PositionInFlatTree(text, 3), flat_iterator.ComputePosition());
96 } 96 }
97 97
98 // For http://crbug.com/695317 98 // For http://crbug.com/695317
99 TEST_F(PositionIteratorTest, decrementWithTextAreaElement) { 99 TEST_F(PositionIteratorTest, decrementWithTextAreaElement) {
100 SetBodyContent("123<textarea>456</textarea>"); 100 SetBodyContent("123<textarea>456</textarea>");
101 Element* const textarea = GetDocument().QuerySelector("textarea"); 101 Element* const textarea = GetDocument().QuerySelector("textarea");
102 Node* const text = textarea->previousSibling(); 102 Node* const text = textarea->previousSibling();
103 103
104 // Decrement until end of "123" from after TEXTAREA on DOM tree 104 // Decrement until end of "123" from after TEXTAREA on DOM tree
105 PositionIterator dom_iterator( 105 PositionIterator dom_iterator(
106 Position::LastPositionInNode(GetDocument().body())); 106 Position::LastPositionInNode(GetDocument().body()));
107 EXPECT_EQ(Position::LastPositionInNode(GetDocument().body()), 107 EXPECT_EQ(Position::LastPositionInNode(GetDocument().body()),
108 dom_iterator.ComputePosition()); 108 dom_iterator.ComputePosition());
109 dom_iterator.Decrement(); 109 dom_iterator.Decrement();
110 EXPECT_EQ(Position::AfterNode(textarea), dom_iterator.ComputePosition()); 110 EXPECT_EQ(Position::AfterNode(textarea), dom_iterator.ComputePosition());
111 dom_iterator.Decrement(); 111 dom_iterator.Decrement();
112 EXPECT_EQ(Position::BeforeNode(textarea), dom_iterator.ComputePosition()); 112 EXPECT_EQ(Position::BeforeNode(*textarea), dom_iterator.ComputePosition());
113 dom_iterator.Decrement(); 113 dom_iterator.Decrement();
114 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition()); 114 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition());
115 dom_iterator.Decrement(); 115 dom_iterator.Decrement();
116 EXPECT_EQ(Position(text, 3), dom_iterator.ComputePosition()); 116 EXPECT_EQ(Position(text, 3), dom_iterator.ComputePosition());
117 117
118 // Decrement until end of "123" from after TEXTAREA on flat tree 118 // Decrement until end of "123" from after TEXTAREA on flat tree
119 PositionIteratorInFlatTree flat_iterator( 119 PositionIteratorInFlatTree flat_iterator(
120 PositionInFlatTree::LastPositionInNode(GetDocument().body())); 120 PositionInFlatTree::LastPositionInNode(GetDocument().body()));
121 EXPECT_EQ(PositionInFlatTree::LastPositionInNode(GetDocument().body()), 121 EXPECT_EQ(PositionInFlatTree::LastPositionInNode(GetDocument().body()),
122 flat_iterator.ComputePosition()); 122 flat_iterator.ComputePosition());
123 flat_iterator.Decrement(); 123 flat_iterator.Decrement();
124 EXPECT_EQ(PositionInFlatTree::AfterNode(textarea), 124 EXPECT_EQ(PositionInFlatTree::AfterNode(textarea),
125 flat_iterator.ComputePosition()); 125 flat_iterator.ComputePosition());
126 flat_iterator.Decrement(); 126 flat_iterator.Decrement();
127 EXPECT_EQ(PositionInFlatTree::BeforeNode(textarea), 127 EXPECT_EQ(PositionInFlatTree::BeforeNode(*textarea),
128 flat_iterator.ComputePosition()); 128 flat_iterator.ComputePosition());
129 flat_iterator.Decrement(); 129 flat_iterator.Decrement();
130 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1), 130 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1),
131 flat_iterator.ComputePosition()); 131 flat_iterator.ComputePosition());
132 flat_iterator.Decrement(); 132 flat_iterator.Decrement();
133 EXPECT_EQ(PositionInFlatTree(text, 3), flat_iterator.ComputePosition()); 133 EXPECT_EQ(PositionInFlatTree(text, 3), flat_iterator.ComputePosition());
134 } 134 }
135 135
136 // For http://crbug.com/695317 136 // For http://crbug.com/695317
137 TEST_F(PositionIteratorTest, incrementWithInputElement) { 137 TEST_F(PositionIteratorTest, incrementWithInputElement) {
138 SetBodyContent("<input value='abc'>123"); 138 SetBodyContent("<input value='abc'>123");
139 Element* const input = GetDocument().QuerySelector("input"); 139 Element* const input = GetDocument().QuerySelector("input");
140 Node* const text = input->nextSibling(); 140 Node* const text = input->nextSibling();
141 141
142 // Increment until start of "123" from INPUT on DOM tree 142 // Increment until start of "123" from INPUT on DOM tree
143 PositionIterator dom_iterator( 143 PositionIterator dom_iterator(
144 Position::FirstPositionInNode(GetDocument().body())); 144 Position::FirstPositionInNode(GetDocument().body()));
145 EXPECT_EQ(Position(GetDocument().body(), 0), dom_iterator.ComputePosition()); 145 EXPECT_EQ(Position(GetDocument().body(), 0), dom_iterator.ComputePosition());
146 dom_iterator.Increment(); 146 dom_iterator.Increment();
147 EXPECT_EQ(Position::BeforeNode(input), dom_iterator.ComputePosition()); 147 EXPECT_EQ(Position::BeforeNode(*input), dom_iterator.ComputePosition());
148 dom_iterator.Increment(); 148 dom_iterator.Increment();
149 EXPECT_EQ(Position::AfterNode(input), dom_iterator.ComputePosition()); 149 EXPECT_EQ(Position::AfterNode(input), dom_iterator.ComputePosition());
150 dom_iterator.Increment(); 150 dom_iterator.Increment();
151 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition()); 151 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition());
152 dom_iterator.Increment(); 152 dom_iterator.Increment();
153 EXPECT_EQ(Position(text, 0), dom_iterator.ComputePosition()); 153 EXPECT_EQ(Position(text, 0), dom_iterator.ComputePosition());
154 154
155 // Increment until start of "123" from INPUT on flat tree 155 // Increment until start of "123" from INPUT on flat tree
156 PositionIteratorInFlatTree flat_iterator( 156 PositionIteratorInFlatTree flat_iterator(
157 PositionInFlatTree::FirstPositionInNode(GetDocument().body())); 157 PositionInFlatTree::FirstPositionInNode(GetDocument().body()));
158 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 0), 158 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 0),
159 flat_iterator.ComputePosition()); 159 flat_iterator.ComputePosition());
160 flat_iterator.Increment(); 160 flat_iterator.Increment();
161 EXPECT_EQ(PositionInFlatTree::BeforeNode(input), 161 EXPECT_EQ(PositionInFlatTree::BeforeNode(*input),
162 flat_iterator.ComputePosition()); 162 flat_iterator.ComputePosition());
163 flat_iterator.Increment(); 163 flat_iterator.Increment();
164 EXPECT_EQ(PositionInFlatTree::AfterNode(input), 164 EXPECT_EQ(PositionInFlatTree::AfterNode(input),
165 flat_iterator.ComputePosition()); 165 flat_iterator.ComputePosition());
166 flat_iterator.Increment(); 166 flat_iterator.Increment();
167 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1), 167 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1),
168 flat_iterator.ComputePosition()); 168 flat_iterator.ComputePosition());
169 flat_iterator.Increment(); 169 flat_iterator.Increment();
170 EXPECT_EQ(PositionInFlatTree(text, 0), flat_iterator.ComputePosition()); 170 EXPECT_EQ(PositionInFlatTree(text, 0), flat_iterator.ComputePosition());
171 } 171 }
172 172
173 TEST_F(PositionIteratorTest, incrementWithSelectElement) { 173 TEST_F(PositionIteratorTest, incrementWithSelectElement) {
174 SetBodyContent("<select><option>1</option><option>2</option></select>123"); 174 SetBodyContent("<select><option>1</option><option>2</option></select>123");
175 Element* const select = GetDocument().QuerySelector("select"); 175 Element* const select = GetDocument().QuerySelector("select");
176 Node* const text = select->nextSibling(); 176 Node* const text = select->nextSibling();
177 177
178 // Increment until start of "123" from SELECT on DOM tree 178 // Increment until start of "123" from SELECT on DOM tree
179 PositionIterator dom_iterator( 179 PositionIterator dom_iterator(
180 Position::FirstPositionInNode(GetDocument().body())); 180 Position::FirstPositionInNode(GetDocument().body()));
181 EXPECT_EQ(Position(GetDocument().body(), 0), dom_iterator.ComputePosition()); 181 EXPECT_EQ(Position(GetDocument().body(), 0), dom_iterator.ComputePosition());
182 dom_iterator.Increment(); 182 dom_iterator.Increment();
183 EXPECT_EQ(Position::BeforeNode(select), dom_iterator.ComputePosition()); 183 EXPECT_EQ(Position::BeforeNode(*select), dom_iterator.ComputePosition());
184 dom_iterator.Increment(); 184 dom_iterator.Increment();
185 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition()); 185 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition());
186 dom_iterator.Increment(); 186 dom_iterator.Increment();
187 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition()) 187 EXPECT_EQ(Position::AfterNode(select), dom_iterator.ComputePosition())
188 << "This is redundant result, we should not have. see " 188 << "This is redundant result, we should not have. see "
189 "http://crbug.com/697283"; 189 "http://crbug.com/697283";
190 dom_iterator.Increment(); 190 dom_iterator.Increment();
191 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition()); 191 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition());
192 dom_iterator.Increment(); 192 dom_iterator.Increment();
193 EXPECT_EQ(Position(text, 0), dom_iterator.ComputePosition()); 193 EXPECT_EQ(Position(text, 0), dom_iterator.ComputePosition());
194 194
195 // Increment until start of "123" from SELECT on flat tree 195 // Increment until start of "123" from SELECT on flat tree
196 PositionIteratorInFlatTree flat_iterator( 196 PositionIteratorInFlatTree flat_iterator(
197 PositionInFlatTree::FirstPositionInNode(GetDocument().body())); 197 PositionInFlatTree::FirstPositionInNode(GetDocument().body()));
198 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 0), 198 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 0),
199 flat_iterator.ComputePosition()); 199 flat_iterator.ComputePosition());
200 flat_iterator.Increment(); 200 flat_iterator.Increment();
201 EXPECT_EQ(PositionInFlatTree::BeforeNode(select), 201 EXPECT_EQ(PositionInFlatTree::BeforeNode(*select),
202 flat_iterator.ComputePosition()); 202 flat_iterator.ComputePosition());
203 flat_iterator.Increment(); 203 flat_iterator.Increment();
204 EXPECT_EQ(PositionInFlatTree::AfterNode(select), 204 EXPECT_EQ(PositionInFlatTree::AfterNode(select),
205 flat_iterator.ComputePosition()); 205 flat_iterator.ComputePosition());
206 flat_iterator.Increment(); 206 flat_iterator.Increment();
207 EXPECT_EQ(PositionInFlatTree::AfterNode(select), 207 EXPECT_EQ(PositionInFlatTree::AfterNode(select),
208 flat_iterator.ComputePosition()) 208 flat_iterator.ComputePosition())
209 << "This is redundant result, we should not have. see " 209 << "This is redundant result, we should not have. see "
210 "http://crbug.com/697283"; 210 "http://crbug.com/697283";
211 flat_iterator.Increment(); 211 flat_iterator.Increment();
212 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1), 212 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1),
213 flat_iterator.ComputePosition()); 213 flat_iterator.ComputePosition());
214 flat_iterator.Increment(); 214 flat_iterator.Increment();
215 EXPECT_EQ(PositionInFlatTree(text, 0), flat_iterator.ComputePosition()); 215 EXPECT_EQ(PositionInFlatTree(text, 0), flat_iterator.ComputePosition());
216 } 216 }
217 217
218 // For http://crbug.com/695317 218 // For http://crbug.com/695317
219 TEST_F(PositionIteratorTest, incrementWithTextAreaElement) { 219 TEST_F(PositionIteratorTest, incrementWithTextAreaElement) {
220 SetBodyContent("<textarea>123</textarea>456"); 220 SetBodyContent("<textarea>123</textarea>456");
221 Element* const textarea = GetDocument().QuerySelector("textarea"); 221 Element* const textarea = GetDocument().QuerySelector("textarea");
222 Node* const text = textarea->nextSibling(); 222 Node* const text = textarea->nextSibling();
223 223
224 // Increment until start of "123" from TEXTAREA on DOM tree 224 // Increment until start of "123" from TEXTAREA on DOM tree
225 PositionIterator dom_iterator( 225 PositionIterator dom_iterator(
226 Position::FirstPositionInNode(GetDocument().body())); 226 Position::FirstPositionInNode(GetDocument().body()));
227 EXPECT_EQ(Position(GetDocument().body(), 0), dom_iterator.ComputePosition()); 227 EXPECT_EQ(Position(GetDocument().body(), 0), dom_iterator.ComputePosition());
228 dom_iterator.Increment(); 228 dom_iterator.Increment();
229 EXPECT_EQ(Position::BeforeNode(textarea), dom_iterator.ComputePosition()); 229 EXPECT_EQ(Position::BeforeNode(*textarea), dom_iterator.ComputePosition());
230 dom_iterator.Increment(); 230 dom_iterator.Increment();
231 EXPECT_EQ(Position::AfterNode(textarea), dom_iterator.ComputePosition()); 231 EXPECT_EQ(Position::AfterNode(textarea), dom_iterator.ComputePosition());
232 dom_iterator.Increment(); 232 dom_iterator.Increment();
233 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition()); 233 EXPECT_EQ(Position(GetDocument().body(), 1), dom_iterator.ComputePosition());
234 dom_iterator.Increment(); 234 dom_iterator.Increment();
235 EXPECT_EQ(Position(text, 0), dom_iterator.ComputePosition()); 235 EXPECT_EQ(Position(text, 0), dom_iterator.ComputePosition());
236 236
237 // Increment until start of "123" from TEXTAREA on flat tree 237 // Increment until start of "123" from TEXTAREA on flat tree
238 PositionIteratorInFlatTree flat_iterator( 238 PositionIteratorInFlatTree flat_iterator(
239 PositionInFlatTree::FirstPositionInNode(GetDocument().body())); 239 PositionInFlatTree::FirstPositionInNode(GetDocument().body()));
240 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 0), 240 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 0),
241 flat_iterator.ComputePosition()); 241 flat_iterator.ComputePosition());
242 // TODO(yosin): We should not traverse inside TEXTAREA 242 // TODO(yosin): We should not traverse inside TEXTAREA
243 flat_iterator.Increment(); 243 flat_iterator.Increment();
244 EXPECT_EQ(PositionInFlatTree::BeforeNode(textarea), 244 EXPECT_EQ(PositionInFlatTree::BeforeNode(*textarea),
245 flat_iterator.ComputePosition()); 245 flat_iterator.ComputePosition());
246 flat_iterator.Increment(); 246 flat_iterator.Increment();
247 EXPECT_EQ(PositionInFlatTree::AfterNode(textarea), 247 EXPECT_EQ(PositionInFlatTree::AfterNode(textarea),
248 flat_iterator.ComputePosition()); 248 flat_iterator.ComputePosition());
249 flat_iterator.Increment(); 249 flat_iterator.Increment();
250 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1), 250 EXPECT_EQ(PositionInFlatTree(GetDocument().body(), 1),
251 flat_iterator.ComputePosition()); 251 flat_iterator.ComputePosition());
252 flat_iterator.Increment(); 252 flat_iterator.Increment();
253 EXPECT_EQ(PositionInFlatTree(text, 0), flat_iterator.ComputePosition()); 253 EXPECT_EQ(PositionInFlatTree(text, 0), flat_iterator.ComputePosition());
254 } 254 }
255 255
256 } // namespace blink 256 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/editing/PositionIterator.cpp ('k') | third_party/WebKit/Source/core/editing/PositionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698