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

Side by Side Diff: third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp

Issue 1686483002: Oilpan: Remove most WillBe types from the code base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/dom/shadow/FlatTreeTraversal.h" 5 #include "core/dom/shadow/FlatTreeTraversal.h"
6 6
7 #include "bindings/core/v8/ExceptionStatePlaceholder.h" 7 #include "bindings/core/v8/ExceptionStatePlaceholder.h"
8 #include "core/dom/Document.h" 8 #include "core/dom/Document.h"
9 #include "core/dom/Element.h" 9 #include "core/dom/Element.h"
10 #include "core/dom/Node.h" 10 #include "core/dom/Node.h"
(...skipping 24 matching lines...) Expand all
35 void setupSampleHTML(const char* mainHTML, const char* shadowHTML, unsigned) ; 35 void setupSampleHTML(const char* mainHTML, const char* shadowHTML, unsigned) ;
36 36
37 void setupDocumentTree(const char* mainHTML); 37 void setupDocumentTree(const char* mainHTML);
38 38
39 void attachV0ShadowRoot(Element& shadowHost, const char* shadowInnerHTML); 39 void attachV0ShadowRoot(Element& shadowHost, const char* shadowInnerHTML);
40 void attachOpenShadowRoot(Element& shadowHost, const char* shadowInnerHTML); 40 void attachOpenShadowRoot(Element& shadowHost, const char* shadowInnerHTML);
41 41
42 private: 42 private:
43 void SetUp() override; 43 void SetUp() override;
44 44
45 RefPtrWillBePersistent<HTMLDocument> m_document; 45 Persistent<HTMLDocument> m_document;
46 OwnPtr<DummyPageHolder> m_dummyPageHolder; 46 OwnPtr<DummyPageHolder> m_dummyPageHolder;
47 }; 47 };
48 48
49 void FlatTreeTraversalTest::SetUp() 49 void FlatTreeTraversalTest::SetUp()
50 { 50 {
51 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600)); 51 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600));
52 m_document = toHTMLDocument(&m_dummyPageHolder->document()); 52 m_document = toHTMLDocument(&m_dummyPageHolder->document());
53 ASSERT(m_document); 53 ASSERT(m_document);
54 } 54 }
55 55
56 HTMLDocument& FlatTreeTraversalTest::document() const 56 HTMLDocument& FlatTreeTraversalTest::document() const
57 { 57 {
58 return *m_document; 58 return *m_document;
59 } 59 }
60 60
61 void FlatTreeTraversalTest::setupSampleHTML(const char* mainHTML, const char* sh adowHTML, unsigned index) 61 void FlatTreeTraversalTest::setupSampleHTML(const char* mainHTML, const char* sh adowHTML, unsigned index)
62 { 62 {
63 RefPtrWillBeRawPtr<Element> body = document().body(); 63 RawPtr<Element> body = document().body();
64 body->setInnerHTML(String::fromUTF8(mainHTML), ASSERT_NO_EXCEPTION); 64 body->setInnerHTML(String::fromUTF8(mainHTML), ASSERT_NO_EXCEPTION);
65 RefPtrWillBeRawPtr<Element> shadowHost = toElement(NodeTraversal::childAt(*b ody, index)); 65 RawPtr<Element> shadowHost = toElement(NodeTraversal::childAt(*body, index)) ;
66 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = shadowHost->createShadowRootInte rnal(ShadowRootType::V0, ASSERT_NO_EXCEPTION); 66 RawPtr<ShadowRoot> shadowRoot = shadowHost->createShadowRootInternal(ShadowR ootType::V0, ASSERT_NO_EXCEPTION);
67 shadowRoot->setInnerHTML(String::fromUTF8(shadowHTML), ASSERT_NO_EXCEPTION); 67 shadowRoot->setInnerHTML(String::fromUTF8(shadowHTML), ASSERT_NO_EXCEPTION);
68 body->updateDistribution(); 68 body->updateDistribution();
69 } 69 }
70 70
71 void FlatTreeTraversalTest::setupDocumentTree(const char* mainHTML) 71 void FlatTreeTraversalTest::setupDocumentTree(const char* mainHTML)
72 { 72 {
73 RefPtrWillBeRawPtr<Element> body = document().body(); 73 RawPtr<Element> body = document().body();
74 body->setInnerHTML(String::fromUTF8(mainHTML), ASSERT_NO_EXCEPTION); 74 body->setInnerHTML(String::fromUTF8(mainHTML), ASSERT_NO_EXCEPTION);
75 } 75 }
76 76
77 void FlatTreeTraversalTest::attachV0ShadowRoot(Element& shadowHost, const char* shadowInnerHTML) 77 void FlatTreeTraversalTest::attachV0ShadowRoot(Element& shadowHost, const char* shadowInnerHTML)
78 { 78 {
79 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = shadowHost.createShadowRootInter nal(ShadowRootType::V0, ASSERT_NO_EXCEPTION); 79 RawPtr<ShadowRoot> shadowRoot = shadowHost.createShadowRootInternal(ShadowRo otType::V0, ASSERT_NO_EXCEPTION);
80 shadowRoot->setInnerHTML(String::fromUTF8(shadowInnerHTML), ASSERT_NO_EXCEPT ION); 80 shadowRoot->setInnerHTML(String::fromUTF8(shadowInnerHTML), ASSERT_NO_EXCEPT ION);
81 document().body()->updateDistribution(); 81 document().body()->updateDistribution();
82 } 82 }
83 83
84 void FlatTreeTraversalTest::attachOpenShadowRoot(Element& shadowHost, const char * shadowInnerHTML) 84 void FlatTreeTraversalTest::attachOpenShadowRoot(Element& shadowHost, const char * shadowInnerHTML)
85 { 85 {
86 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = shadowHost.createShadowRootInter nal(ShadowRootType::Open, ASSERT_NO_EXCEPTION); 86 RawPtr<ShadowRoot> shadowRoot = shadowHost.createShadowRootInternal(ShadowRo otType::Open, ASSERT_NO_EXCEPTION);
87 shadowRoot->setInnerHTML(String::fromUTF8(shadowInnerHTML), ASSERT_NO_EXCEPT ION); 87 shadowRoot->setInnerHTML(String::fromUTF8(shadowInnerHTML), ASSERT_NO_EXCEPT ION);
88 document().body()->updateDistribution(); 88 document().body()->updateDistribution();
89 } 89 }
90 90
91 void testCommonAncestor(Node* expectedResult, const Node& nodeA, const Node& nod eB) 91 void testCommonAncestor(Node* expectedResult, const Node& nodeA, const Node& nod eB)
92 { 92 {
93 Node* result1 = FlatTreeTraversal::commonAncestor(nodeA, nodeB); 93 Node* result1 = FlatTreeTraversal::commonAncestor(nodeA, nodeB);
94 EXPECT_EQ(expectedResult, result1) << "commonAncestor(" << nodeA.textContent () << "," << nodeB.textContent() << ")"; 94 EXPECT_EQ(expectedResult, result1) << "commonAncestor(" << nodeA.textContent () << "," << nodeB.textContent() << ")";
95 Node* result2 = FlatTreeTraversal::commonAncestor(nodeB, nodeA); 95 Node* result2 = FlatTreeTraversal::commonAncestor(nodeB, nodeA);
96 EXPECT_EQ(expectedResult, result2) << "commonAncestor(" << nodeB.textContent () << "," << nodeA.textContent() << ")"; 96 EXPECT_EQ(expectedResult, result2) << "commonAncestor(" << nodeB.textContent () << "," << nodeA.textContent() << ")";
(...skipping 13 matching lines...) Expand all
110 "<span id='m01'>m01</span>" 110 "<span id='m01'>m01</span>"
111 "</div>"; 111 "</div>";
112 const char* shadowHTML = 112 const char* shadowHTML =
113 "<a id='s00'>s00</a>" 113 "<a id='s00'>s00</a>"
114 "<content select='#m01'></content>" 114 "<content select='#m01'></content>"
115 "<a id='s02'>s02</a>" 115 "<a id='s02'>s02</a>"
116 "<a id='s03'><content select='#m00'></content></a>" 116 "<a id='s03'><content select='#m00'></content></a>"
117 "<a id='s04'>s04</a>"; 117 "<a id='s04'>s04</a>";
118 setupSampleHTML(mainHTML, shadowHTML, 0); 118 setupSampleHTML(mainHTML, shadowHTML, 0);
119 119
120 RefPtrWillBeRawPtr<Element> body = document().body(); 120 RawPtr<Element> body = document().body();
121 RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPT ION); 121 RawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPTION);
122 RefPtrWillBeRawPtr<Element> m00 = m0->querySelector("#m00", ASSERT_NO_EXCEPT ION); 122 RawPtr<Element> m00 = m0->querySelector("#m00", ASSERT_NO_EXCEPTION);
123 RefPtrWillBeRawPtr<Element> m01 = m0->querySelector("#m01", ASSERT_NO_EXCEPT ION); 123 RawPtr<Element> m01 = m0->querySelector("#m01", ASSERT_NO_EXCEPTION);
124 124
125 RefPtrWillBeRawPtr<Element> shadowHost = m0; 125 RawPtr<Element> shadowHost = m0;
126 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = shadowHost->openShadowRoot(); 126 RawPtr<ShadowRoot> shadowRoot = shadowHost->openShadowRoot();
127 RefPtrWillBeRawPtr<Element> s00 = shadowRoot->querySelector("#s00", ASSERT_N O_EXCEPTION); 127 RawPtr<Element> s00 = shadowRoot->querySelector("#s00", ASSERT_NO_EXCEPTION) ;
128 RefPtrWillBeRawPtr<Element> s02 = shadowRoot->querySelector("#s02", ASSERT_N O_EXCEPTION); 128 RawPtr<Element> s02 = shadowRoot->querySelector("#s02", ASSERT_NO_EXCEPTION) ;
129 RefPtrWillBeRawPtr<Element> s03 = shadowRoot->querySelector("#s03", ASSERT_N O_EXCEPTION); 129 RawPtr<Element> s03 = shadowRoot->querySelector("#s03", ASSERT_NO_EXCEPTION) ;
130 RefPtrWillBeRawPtr<Element> s04 = shadowRoot->querySelector("#s04", ASSERT_N O_EXCEPTION); 130 RawPtr<Element> s04 = shadowRoot->querySelector("#s04", ASSERT_NO_EXCEPTION) ;
131 131
132 const unsigned numberOfChildNodes = 5; 132 const unsigned numberOfChildNodes = 5;
133 Node* expectedChildNodes[5] = { s00.get(), m01.get(), s02.get(), s03.get(), s04.get() }; 133 Node* expectedChildNodes[5] = { s00.get(), m01.get(), s02.get(), s03.get(), s04.get() };
134 134
135 ASSERT_EQ(numberOfChildNodes, FlatTreeTraversal::countChildren(*shadowHost)) ; 135 ASSERT_EQ(numberOfChildNodes, FlatTreeTraversal::countChildren(*shadowHost)) ;
136 EXPECT_TRUE(FlatTreeTraversal::hasChildren(*shadowHost)); 136 EXPECT_TRUE(FlatTreeTraversal::hasChildren(*shadowHost));
137 137
138 for (unsigned index = 0; index < numberOfChildNodes; ++index) { 138 for (unsigned index = 0; index < numberOfChildNodes; ++index) {
139 Node* child = FlatTreeTraversal::childAt(*shadowHost, index); 139 Node* child = FlatTreeTraversal::childAt(*shadowHost, index);
140 EXPECT_EQ(expectedChildNodes[index], child) 140 EXPECT_EQ(expectedChildNodes[index], child)
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 const char* shadowHTML = 185 const char* shadowHTML =
186 "<a id='s10'>s10</a>" 186 "<a id='s10'>s10</a>"
187 "<a id='s11'><content select='#m12'></content></a>" 187 "<a id='s11'><content select='#m12'></content></a>"
188 "<a id='s12'>s12</a>" 188 "<a id='s12'>s12</a>"
189 "<a id='s13'>" 189 "<a id='s13'>"
190 "<content select='#m10'></content>" 190 "<content select='#m10'></content>"
191 "<content select='#m11'></content>" 191 "<content select='#m11'></content>"
192 "</a>" 192 "</a>"
193 "<a id='s14'>s14</a>"; 193 "<a id='s14'>s14</a>";
194 setupSampleHTML(mainHTML, shadowHTML, 1); 194 setupSampleHTML(mainHTML, shadowHTML, 1);
195 RefPtrWillBeRawPtr<Element> body = document().body(); 195 RawPtr<Element> body = document().body();
196 RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPT ION); 196 RawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPTION);
197 RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPT ION); 197 RawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPTION);
198 RefPtrWillBeRawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPT ION); 198 RawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPTION);
199 199
200 RefPtrWillBeRawPtr<Element> m00 = body->querySelector("#m00", ASSERT_NO_EXCE PTION); 200 RawPtr<Element> m00 = body->querySelector("#m00", ASSERT_NO_EXCEPTION);
201 RefPtrWillBeRawPtr<Element> m01 = body->querySelector("#m01", ASSERT_NO_EXCE PTION); 201 RawPtr<Element> m01 = body->querySelector("#m01", ASSERT_NO_EXCEPTION);
202 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE PTION); 202 RawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
203 RefPtrWillBeRawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCE PTION); 203 RawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCEPTION);
204 RefPtrWillBeRawPtr<Element> m12 = body->querySelector("#m12", ASSERT_NO_EXCE PTION); 204 RawPtr<Element> m12 = body->querySelector("#m12", ASSERT_NO_EXCEPTION);
205 RefPtrWillBeRawPtr<Element> m20 = body->querySelector("#m20", ASSERT_NO_EXCE PTION); 205 RawPtr<Element> m20 = body->querySelector("#m20", ASSERT_NO_EXCEPTION);
206 RefPtrWillBeRawPtr<Element> m21 = body->querySelector("#m21", ASSERT_NO_EXCE PTION); 206 RawPtr<Element> m21 = body->querySelector("#m21", ASSERT_NO_EXCEPTION);
207 207
208 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot(); 208 RawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot();
209 RefPtrWillBeRawPtr<Element> s10 = shadowRoot->querySelector("#s10", ASSERT_N O_EXCEPTION); 209 RawPtr<Element> s10 = shadowRoot->querySelector("#s10", ASSERT_NO_EXCEPTION) ;
210 RefPtrWillBeRawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_N O_EXCEPTION); 210 RawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_NO_EXCEPTION) ;
211 RefPtrWillBeRawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_N O_EXCEPTION); 211 RawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_NO_EXCEPTION) ;
212 RefPtrWillBeRawPtr<Element> s13 = shadowRoot->querySelector("#s13", ASSERT_N O_EXCEPTION); 212 RawPtr<Element> s13 = shadowRoot->querySelector("#s13", ASSERT_NO_EXCEPTION) ;
213 RefPtrWillBeRawPtr<Element> s14 = shadowRoot->querySelector("#s14", ASSERT_N O_EXCEPTION); 213 RawPtr<Element> s14 = shadowRoot->querySelector("#s14", ASSERT_NO_EXCEPTION) ;
214 214
215 testCommonAncestor(body.get(), *m0, *m1); 215 testCommonAncestor(body.get(), *m0, *m1);
216 testCommonAncestor(body.get(), *m1, *m2); 216 testCommonAncestor(body.get(), *m1, *m2);
217 testCommonAncestor(body.get(), *m1, *m20); 217 testCommonAncestor(body.get(), *m1, *m20);
218 testCommonAncestor(body.get(), *s14, *m21); 218 testCommonAncestor(body.get(), *s14, *m21);
219 219
220 testCommonAncestor(m0.get(), *m0, *m0); 220 testCommonAncestor(m0.get(), *m0, *m0);
221 testCommonAncestor(m0.get(), *m00, *m01); 221 testCommonAncestor(m0.get(), *m00, *m01);
222 222
223 testCommonAncestor(m1.get(), *m1.get(), *m1); 223 testCommonAncestor(m1.get(), *m1.get(), *m1);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 "<div id='m2'>m2</div>"; 256 "<div id='m2'>m2</div>";
257 const char* shadowHTML = 257 const char* shadowHTML =
258 "<content select='#m11'></content>" 258 "<content select='#m11'></content>"
259 "<a id='s11'>s11</a>" 259 "<a id='s11'>s11</a>"
260 "<a id='s12'>" 260 "<a id='s12'>"
261 "<b id='s120'>s120</b>" 261 "<b id='s120'>s120</b>"
262 "<content select='#m10'></content>" 262 "<content select='#m10'></content>"
263 "</a>"; 263 "</a>";
264 setupSampleHTML(mainHTML, shadowHTML, 1); 264 setupSampleHTML(mainHTML, shadowHTML, 1);
265 265
266 RefPtrWillBeRawPtr<Element> body = document().body(); 266 RawPtr<Element> body = document().body();
267 RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPT ION); 267 RawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPTION);
268 RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPT ION); 268 RawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPTION);
269 RefPtrWillBeRawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPT ION); 269 RawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPTION);
270 270
271 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE PTION); 271 RawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
272 RefPtrWillBeRawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCE PTION); 272 RawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCEPTION);
273 273
274 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot(); 274 RawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot();
275 RefPtrWillBeRawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_N O_EXCEPTION); 275 RawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_NO_EXCEPTION) ;
276 RefPtrWillBeRawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_N O_EXCEPTION); 276 RawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_NO_EXCEPTION) ;
277 RefPtrWillBeRawPtr<Element> s120 = shadowRoot->querySelector("#s120", ASSERT _NO_EXCEPTION); 277 RawPtr<Element> s120 = shadowRoot->querySelector("#s120", ASSERT_NO_EXCEPTIO N);
278 278
279 // Main tree node to main tree node 279 // Main tree node to main tree node
280 EXPECT_EQ(*m1, FlatTreeTraversal::nextSkippingChildren(*m0)); 280 EXPECT_EQ(*m1, FlatTreeTraversal::nextSkippingChildren(*m0));
281 EXPECT_EQ(*m0, FlatTreeTraversal::previousSkippingChildren(*m1)); 281 EXPECT_EQ(*m0, FlatTreeTraversal::previousSkippingChildren(*m1));
282 282
283 // Distribute node to main tree node 283 // Distribute node to main tree node
284 EXPECT_EQ(*m2, FlatTreeTraversal::nextSkippingChildren(*m10)); 284 EXPECT_EQ(*m2, FlatTreeTraversal::nextSkippingChildren(*m10));
285 EXPECT_EQ(*m1, FlatTreeTraversal::previousSkippingChildren(*m2)); 285 EXPECT_EQ(*m1, FlatTreeTraversal::previousSkippingChildren(*m2));
286 286
287 // Distribute node to node in shadow tree 287 // Distribute node to node in shadow tree
(...skipping 26 matching lines...) Expand all
314 "</div>" 314 "</div>"
315 "<div id='m2'></div>"; 315 "<div id='m2'></div>";
316 const char* shadowHTML = 316 const char* shadowHTML =
317 "<content select='#m11'></content>" 317 "<content select='#m11'></content>"
318 "<a id='s11'>s11</a>" 318 "<a id='s11'>s11</a>"
319 "<a id='s12'>" 319 "<a id='s12'>"
320 "<content select='#m10'></content>" 320 "<content select='#m10'></content>"
321 "</a>"; 321 "</a>";
322 setupSampleHTML(mainHTML, shadowHTML, 1); 322 setupSampleHTML(mainHTML, shadowHTML, 1);
323 323
324 RefPtrWillBeRawPtr<Element> body = document().body(); 324 RawPtr<Element> body = document().body();
325 RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPT ION); 325 RawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPTION);
326 RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPT ION); 326 RawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPTION);
327 RefPtrWillBeRawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPT ION); 327 RawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPTION);
328 328
329 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE PTION); 329 RawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
330 330
331 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot(); 331 RawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot();
332 RefPtrWillBeRawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_N O_EXCEPTION); 332 RawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_NO_EXCEPTION) ;
333 RefPtrWillBeRawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_N O_EXCEPTION); 333 RawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_NO_EXCEPTION) ;
334 334
335 EXPECT_EQ(m0->firstChild(), FlatTreeTraversal::lastWithin(*m0)); 335 EXPECT_EQ(m0->firstChild(), FlatTreeTraversal::lastWithin(*m0));
336 EXPECT_EQ(*m0->firstChild(), FlatTreeTraversal::lastWithinOrSelf(*m0)); 336 EXPECT_EQ(*m0->firstChild(), FlatTreeTraversal::lastWithinOrSelf(*m0));
337 337
338 EXPECT_EQ(m10->firstChild(), FlatTreeTraversal::lastWithin(*m1)); 338 EXPECT_EQ(m10->firstChild(), FlatTreeTraversal::lastWithin(*m1));
339 EXPECT_EQ(*m10->firstChild(), FlatTreeTraversal::lastWithinOrSelf(*m1)); 339 EXPECT_EQ(*m10->firstChild(), FlatTreeTraversal::lastWithinOrSelf(*m1));
340 340
341 EXPECT_EQ(nullptr, FlatTreeTraversal::lastWithin(*m2)); 341 EXPECT_EQ(nullptr, FlatTreeTraversal::lastWithin(*m2));
342 EXPECT_EQ(*m2, FlatTreeTraversal::lastWithinOrSelf(*m2)); 342 EXPECT_EQ(*m2, FlatTreeTraversal::lastWithinOrSelf(*m2));
343 343
(...skipping 15 matching lines...) Expand all
359 "<div id='m2'>m2</div>"; 359 "<div id='m2'>m2</div>";
360 const char* shadowHTML = 360 const char* shadowHTML =
361 "<content select='#m11'></content>" 361 "<content select='#m11'></content>"
362 "<a id='s11'>s11</a>" 362 "<a id='s11'>s11</a>"
363 "<a id='s12'>" 363 "<a id='s12'>"
364 "<b id='s120'>s120</b>" 364 "<b id='s120'>s120</b>"
365 "<content select='#m10'></content>" 365 "<content select='#m10'></content>"
366 "</a>"; 366 "</a>";
367 setupSampleHTML(mainHTML, shadowHTML, 1); 367 setupSampleHTML(mainHTML, shadowHTML, 1);
368 368
369 RefPtrWillBeRawPtr<Element> body = document().body(); 369 RawPtr<Element> body = document().body();
370 RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPT ION); 370 RawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPTION);
371 RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPT ION); 371 RawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPTION);
372 RefPtrWillBeRawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPT ION); 372 RawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPTION);
373 373
374 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE PTION); 374 RawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
375 RefPtrWillBeRawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCE PTION); 375 RawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCEPTION);
376 376
377 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot(); 377 RawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot();
378 RefPtrWillBeRawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_N O_EXCEPTION); 378 RawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_NO_EXCEPTION) ;
379 RefPtrWillBeRawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_N O_EXCEPTION); 379 RawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_NO_EXCEPTION) ;
380 RefPtrWillBeRawPtr<Element> s120 = shadowRoot->querySelector("#s120", ASSERT _NO_EXCEPTION); 380 RawPtr<Element> s120 = shadowRoot->querySelector("#s120", ASSERT_NO_EXCEPTIO N);
381 381
382 EXPECT_EQ(*m0->firstChild(), FlatTreeTraversal::previousPostOrder(*m0)); 382 EXPECT_EQ(*m0->firstChild(), FlatTreeTraversal::previousPostOrder(*m0));
383 EXPECT_EQ(*s12, FlatTreeTraversal::previousPostOrder(*m1)); 383 EXPECT_EQ(*s12, FlatTreeTraversal::previousPostOrder(*m1));
384 EXPECT_EQ(*m10->firstChild(), FlatTreeTraversal::previousPostOrder(*m10)); 384 EXPECT_EQ(*m10->firstChild(), FlatTreeTraversal::previousPostOrder(*m10));
385 EXPECT_EQ(*s120, FlatTreeTraversal::previousPostOrder(*m10->firstChild())); 385 EXPECT_EQ(*s120, FlatTreeTraversal::previousPostOrder(*m10->firstChild()));
386 EXPECT_EQ(*s120, FlatTreeTraversal::previousPostOrder(*m10->firstChild(), s1 2.get())); 386 EXPECT_EQ(*s120, FlatTreeTraversal::previousPostOrder(*m10->firstChild(), s1 2.get()));
387 EXPECT_EQ(*m11->firstChild(), FlatTreeTraversal::previousPostOrder(*m11)); 387 EXPECT_EQ(*m11->firstChild(), FlatTreeTraversal::previousPostOrder(*m11));
388 EXPECT_EQ(*m0, FlatTreeTraversal::previousPostOrder(*m11->firstChild())); 388 EXPECT_EQ(*m0, FlatTreeTraversal::previousPostOrder(*m11->firstChild()));
389 EXPECT_EQ(nullptr, FlatTreeTraversal::previousPostOrder(*m11->firstChild(), m11.get())); 389 EXPECT_EQ(nullptr, FlatTreeTraversal::previousPostOrder(*m11->firstChild(), m11.get()));
390 EXPECT_EQ(*m2->firstChild(), FlatTreeTraversal::previousPostOrder(*m2)); 390 EXPECT_EQ(*m2->firstChild(), FlatTreeTraversal::previousPostOrder(*m2));
(...skipping 11 matching lines...) Expand all
402 "<div id='m0'>m0</div>" 402 "<div id='m0'>m0</div>"
403 "<div id='m1'>" 403 "<div id='m1'>"
404 "<span id='m10'>m10</span>" 404 "<span id='m10'>m10</span>"
405 "<span id='m11'>m11</span>" 405 "<span id='m11'>m11</span>"
406 "</div>" 406 "</div>"
407 "<div id='m2'>m2</div>"; 407 "<div id='m2'>m2</div>";
408 const char* shadowHTML = 408 const char* shadowHTML =
409 "<content select='#m11'></content>"; 409 "<content select='#m11'></content>";
410 setupSampleHTML(mainHTML, shadowHTML, 1); 410 setupSampleHTML(mainHTML, shadowHTML, 1);
411 411
412 RefPtrWillBeRawPtr<Element> body = document().body(); 412 RawPtr<Element> body = document().body();
413 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE PTION); 413 RawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
414 414
415 EXPECT_EQ(nullptr, FlatTreeTraversal::nextSibling(*m10)); 415 EXPECT_EQ(nullptr, FlatTreeTraversal::nextSibling(*m10));
416 EXPECT_EQ(nullptr, FlatTreeTraversal::previousSibling(*m10)); 416 EXPECT_EQ(nullptr, FlatTreeTraversal::previousSibling(*m10));
417 } 417 }
418 418
419 TEST_F(FlatTreeTraversalTest, redistribution) 419 TEST_F(FlatTreeTraversalTest, redistribution)
420 { 420 {
421 const char* mainHTML = 421 const char* mainHTML =
422 "<div id='m0'>m0</div>" 422 "<div id='m0'>m0</div>"
423 "<div id='m1'>" 423 "<div id='m1'>"
424 "<span id='m10'>m10</span>" 424 "<span id='m10'>m10</span>"
425 "<span id='m11'>m11</span>" 425 "<span id='m11'>m11</span>"
426 "</div>" 426 "</div>"
427 "<div id='m2'>m2</div>"; 427 "<div id='m2'>m2</div>";
428 const char* shadowHTML1 = 428 const char* shadowHTML1 =
429 "<div id='s1'>" 429 "<div id='s1'>"
430 "<content></content>" 430 "<content></content>"
431 "</div>"; 431 "</div>";
432 432
433 setupSampleHTML(mainHTML, shadowHTML1, 1); 433 setupSampleHTML(mainHTML, shadowHTML1, 1);
434 434
435 const char* shadowHTML2 = 435 const char* shadowHTML2 =
436 "<div id='s2'>" 436 "<div id='s2'>"
437 "<content select='#m10'></content>" 437 "<content select='#m10'></content>"
438 "<span id='s21'>s21</span>" 438 "<span id='s21'>s21</span>"
439 "</div>"; 439 "</div>";
440 440
441 RefPtrWillBeRawPtr<Element> body = document().body(); 441 RawPtr<Element> body = document().body();
442 RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPT ION); 442 RawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPTION);
443 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE PTION); 443 RawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
444 444
445 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot1 = m1->openShadowRoot(); 445 RawPtr<ShadowRoot> shadowRoot1 = m1->openShadowRoot();
446 RefPtrWillBeRawPtr<Element> s1 = shadowRoot1->querySelector("#s1", ASSERT_NO _EXCEPTION); 446 RawPtr<Element> s1 = shadowRoot1->querySelector("#s1", ASSERT_NO_EXCEPTION);
447 447
448 attachV0ShadowRoot(*s1, shadowHTML2); 448 attachV0ShadowRoot(*s1, shadowHTML2);
449 449
450 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot2 = s1->openShadowRoot(); 450 RawPtr<ShadowRoot> shadowRoot2 = s1->openShadowRoot();
451 RefPtrWillBeRawPtr<Element> s21 = shadowRoot2->querySelector("#s21", ASSERT_ NO_EXCEPTION); 451 RawPtr<Element> s21 = shadowRoot2->querySelector("#s21", ASSERT_NO_EXCEPTION );
452 452
453 EXPECT_EQ(s21.get(), FlatTreeTraversal::nextSibling(*m10)); 453 EXPECT_EQ(s21.get(), FlatTreeTraversal::nextSibling(*m10));
454 EXPECT_EQ(m10.get(), FlatTreeTraversal::previousSibling(*s21)); 454 EXPECT_EQ(m10.get(), FlatTreeTraversal::previousSibling(*s21));
455 455
456 // FlatTreeTraversal::traverseSiblings does not work for a node which is not in a document flat tree. 456 // FlatTreeTraversal::traverseSiblings does not work for a node which is not in a document flat tree.
457 // e.g. The following test fails. The result of FlatTreeTraversal::previousS ibling(*m11)) will be #m10, instead of nullptr. 457 // e.g. The following test fails. The result of FlatTreeTraversal::previousS ibling(*m11)) will be #m10, instead of nullptr.
458 // RefPtrWillBeRawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_E XCEPTION); 458 // RawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCEPTION);
459 // EXPECT_EQ(nullptr, FlatTreeTraversal::previousSibling(*m11)); 459 // EXPECT_EQ(nullptr, FlatTreeTraversal::previousSibling(*m11));
460 } 460 }
461 461
462 TEST_F(FlatTreeTraversalTest, v1Simple) 462 TEST_F(FlatTreeTraversalTest, v1Simple)
463 { 463 {
464 const char* mainHTML = 464 const char* mainHTML =
465 "<div id='host'>" 465 "<div id='host'>"
466 "<div id='child1' slot='slot1'></div>" 466 "<div id='child1' slot='slot1'></div>"
467 "<div id='child2' slot='slot2'></div>" 467 "<div id='child2' slot='slot2'></div>"
468 "</div>"; 468 "</div>";
469 const char* shadowHTML = 469 const char* shadowHTML =
470 "<div id='shadow-child1'></div>" 470 "<div id='shadow-child1'></div>"
471 "<slot name='slot1'></slot>" 471 "<slot name='slot1'></slot>"
472 "<slot name='slot2'></slot>" 472 "<slot name='slot2'></slot>"
473 "<div id='shadow-child2'></div>"; 473 "<div id='shadow-child2'></div>";
474 474
475 setupDocumentTree(mainHTML); 475 setupDocumentTree(mainHTML);
476 RefPtrWillBeRawPtr<Element> body = document().body(); 476 RawPtr<Element> body = document().body();
477 RefPtrWillBeRawPtr<Element> host = body->querySelector("#host", ASSERT_NO_EX CEPTION); 477 RawPtr<Element> host = body->querySelector("#host", ASSERT_NO_EXCEPTION);
478 RefPtrWillBeRawPtr<Element> child1 = body->querySelector("#child1", ASSERT_N O_EXCEPTION); 478 RawPtr<Element> child1 = body->querySelector("#child1", ASSERT_NO_EXCEPTION) ;
479 RefPtrWillBeRawPtr<Element> child2 = body->querySelector("#child2", ASSERT_N O_EXCEPTION); 479 RawPtr<Element> child2 = body->querySelector("#child2", ASSERT_NO_EXCEPTION) ;
480 480
481 attachOpenShadowRoot(*host, shadowHTML); 481 attachOpenShadowRoot(*host, shadowHTML);
482 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = host->openShadowRoot(); 482 RawPtr<ShadowRoot> shadowRoot = host->openShadowRoot();
483 RefPtrWillBeRawPtr<Element> slot1 = shadowRoot->querySelector("[name=slot1]" , ASSERT_NO_EXCEPTION); 483 RawPtr<Element> slot1 = shadowRoot->querySelector("[name=slot1]", ASSERT_NO_ EXCEPTION);
484 RefPtrWillBeRawPtr<Element> slot2 = shadowRoot->querySelector("[name=slot2]" , ASSERT_NO_EXCEPTION); 484 RawPtr<Element> slot2 = shadowRoot->querySelector("[name=slot2]", ASSERT_NO_ EXCEPTION);
485 RefPtrWillBeRawPtr<Element> shadowChild1 = shadowRoot->querySelector("#shado w-child1", ASSERT_NO_EXCEPTION); 485 RawPtr<Element> shadowChild1 = shadowRoot->querySelector("#shadow-child1", A SSERT_NO_EXCEPTION);
486 RefPtrWillBeRawPtr<Element> shadowChild2 = shadowRoot->querySelector("#shado w-child2", ASSERT_NO_EXCEPTION); 486 RawPtr<Element> shadowChild2 = shadowRoot->querySelector("#shadow-child2", A SSERT_NO_EXCEPTION);
487 487
488 EXPECT_TRUE(slot1); 488 EXPECT_TRUE(slot1);
489 EXPECT_TRUE(slot2); 489 EXPECT_TRUE(slot2);
490 EXPECT_EQ(shadowChild1.get(), FlatTreeTraversal::firstChild(*host)); 490 EXPECT_EQ(shadowChild1.get(), FlatTreeTraversal::firstChild(*host));
491 EXPECT_EQ(child1.get(), FlatTreeTraversal::nextSibling(*shadowChild1)); 491 EXPECT_EQ(child1.get(), FlatTreeTraversal::nextSibling(*shadowChild1));
492 EXPECT_EQ(child2.get(), FlatTreeTraversal::nextSibling(*child1)); 492 EXPECT_EQ(child2.get(), FlatTreeTraversal::nextSibling(*child1));
493 EXPECT_EQ(shadowChild2.get(), FlatTreeTraversal::nextSibling(*child2)); 493 EXPECT_EQ(shadowChild2.get(), FlatTreeTraversal::nextSibling(*child2));
494 } 494 }
495 495
496 TEST_F(FlatTreeTraversalTest, v1Redistribution) 496 TEST_F(FlatTreeTraversalTest, v1Redistribution)
(...skipping 16 matching lines...) Expand all
513 "<div id='d1-4' slot='d1-1-s1'></div>" 513 "<div id='d1-4' slot='d1-1-s1'></div>"
514 "</div>"; 514 "</div>";
515 const char* shadowHTML2 = 515 const char* shadowHTML2 =
516 "<div id='d1-1-1'></div>" 516 "<div id='d1-1-1'></div>"
517 "<slot name='d1-1-s1'></slot>" 517 "<slot name='d1-1-s1'></slot>"
518 "<slot name='d1-1-s2'></slot>" 518 "<slot name='d1-1-s2'></slot>"
519 "<div id='d1-1-2'></div>"; 519 "<div id='d1-1-2'></div>";
520 520
521 setupDocumentTree(mainHTML); 521 setupDocumentTree(mainHTML);
522 522
523 RefPtrWillBeRawPtr<Element> body = document().body(); 523 RawPtr<Element> body = document().body();
524 RefPtrWillBeRawPtr<Element> d1 = body->querySelector("#d1", ASSERT_NO_EXCEPT ION); 524 RawPtr<Element> d1 = body->querySelector("#d1", ASSERT_NO_EXCEPTION);
525 RefPtrWillBeRawPtr<Element> d2 = body->querySelector("#d2", ASSERT_NO_EXCEPT ION); 525 RawPtr<Element> d2 = body->querySelector("#d2", ASSERT_NO_EXCEPTION);
526 RefPtrWillBeRawPtr<Element> d3 = body->querySelector("#d3", ASSERT_NO_EXCEPT ION); 526 RawPtr<Element> d3 = body->querySelector("#d3", ASSERT_NO_EXCEPTION);
527 RefPtrWillBeRawPtr<Element> d4 = body->querySelector("#d4", ASSERT_NO_EXCEPT ION); 527 RawPtr<Element> d4 = body->querySelector("#d4", ASSERT_NO_EXCEPTION);
528 RefPtrWillBeRawPtr<Element> d5 = body->querySelector("#d5", ASSERT_NO_EXCEPT ION); 528 RawPtr<Element> d5 = body->querySelector("#d5", ASSERT_NO_EXCEPTION);
529 RefPtrWillBeRawPtr<Element> d6 = body->querySelector("#d6", ASSERT_NO_EXCEPT ION); 529 RawPtr<Element> d6 = body->querySelector("#d6", ASSERT_NO_EXCEPTION);
530 530
531 attachOpenShadowRoot(*d1, shadowHTML1); 531 attachOpenShadowRoot(*d1, shadowHTML1);
532 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot1 = d1->openShadowRoot(); 532 RawPtr<ShadowRoot> shadowRoot1 = d1->openShadowRoot();
533 RefPtrWillBeRawPtr<Element> d11 = shadowRoot1->querySelector("#d1-1", ASSERT _NO_EXCEPTION); 533 RawPtr<Element> d11 = shadowRoot1->querySelector("#d1-1", ASSERT_NO_EXCEPTIO N);
534 RefPtrWillBeRawPtr<Element> d12 = shadowRoot1->querySelector("#d1-2", ASSERT _NO_EXCEPTION); 534 RawPtr<Element> d12 = shadowRoot1->querySelector("#d1-2", ASSERT_NO_EXCEPTIO N);
535 RefPtrWillBeRawPtr<Element> d13 = shadowRoot1->querySelector("#d1-3", ASSERT _NO_EXCEPTION); 535 RawPtr<Element> d13 = shadowRoot1->querySelector("#d1-3", ASSERT_NO_EXCEPTIO N);
536 RefPtrWillBeRawPtr<Element> d14 = shadowRoot1->querySelector("#d1-4", ASSERT _NO_EXCEPTION); 536 RawPtr<Element> d14 = shadowRoot1->querySelector("#d1-4", ASSERT_NO_EXCEPTIO N);
537 RefPtrWillBeRawPtr<Element> d1s0 = shadowRoot1->querySelector("#d1-s0", ASSE RT_NO_EXCEPTION); 537 RawPtr<Element> d1s0 = shadowRoot1->querySelector("#d1-s0", ASSERT_NO_EXCEPT ION);
538 RefPtrWillBeRawPtr<Element> d1s1 = shadowRoot1->querySelector("[name=d1-s1]" , ASSERT_NO_EXCEPTION); 538 RawPtr<Element> d1s1 = shadowRoot1->querySelector("[name=d1-s1]", ASSERT_NO_ EXCEPTION);
539 RefPtrWillBeRawPtr<Element> d1s2 = shadowRoot1->querySelector("[name=d1-s2]" , ASSERT_NO_EXCEPTION); 539 RawPtr<Element> d1s2 = shadowRoot1->querySelector("[name=d1-s2]", ASSERT_NO_ EXCEPTION);
540 540
541 attachOpenShadowRoot(*d11, shadowHTML2); 541 attachOpenShadowRoot(*d11, shadowHTML2);
542 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot2 = d11->openShadowRoot(); 542 RawPtr<ShadowRoot> shadowRoot2 = d11->openShadowRoot();
543 RefPtrWillBeRawPtr<Element> d111 = shadowRoot2->querySelector("#d1-1-1", ASS ERT_NO_EXCEPTION); 543 RawPtr<Element> d111 = shadowRoot2->querySelector("#d1-1-1", ASSERT_NO_EXCEP TION);
544 RefPtrWillBeRawPtr<Element> d112 = shadowRoot2->querySelector("#d1-1-2", ASS ERT_NO_EXCEPTION); 544 RawPtr<Element> d112 = shadowRoot2->querySelector("#d1-1-2", ASSERT_NO_EXCEP TION);
545 RefPtrWillBeRawPtr<Element> d11s1 = shadowRoot2->querySelector("[name=d1-1-s 1]", ASSERT_NO_EXCEPTION); 545 RawPtr<Element> d11s1 = shadowRoot2->querySelector("[name=d1-1-s1]", ASSERT_ NO_EXCEPTION);
546 RefPtrWillBeRawPtr<Element> d11s2 = shadowRoot2->querySelector("[name=d1-1-s 2]", ASSERT_NO_EXCEPTION); 546 RawPtr<Element> d11s2 = shadowRoot2->querySelector("[name=d1-1-s2]", ASSERT_ NO_EXCEPTION);
547 547
548 EXPECT_TRUE(d5); 548 EXPECT_TRUE(d5);
549 EXPECT_TRUE(d12); 549 EXPECT_TRUE(d12);
550 EXPECT_TRUE(d13); 550 EXPECT_TRUE(d13);
551 EXPECT_TRUE(d1s0); 551 EXPECT_TRUE(d1s0);
552 EXPECT_TRUE(d1s1); 552 EXPECT_TRUE(d1s1);
553 EXPECT_TRUE(d1s2); 553 EXPECT_TRUE(d1s2);
554 EXPECT_TRUE(d11s1); 554 EXPECT_TRUE(d11s1);
555 EXPECT_TRUE(d11s2); 555 EXPECT_TRUE(d11s2);
556 EXPECT_EQ(d11.get(), FlatTreeTraversal::next(*d1)); 556 EXPECT_EQ(d11.get(), FlatTreeTraversal::next(*d1));
557 EXPECT_EQ(d111.get(), FlatTreeTraversal::next(*d11)); 557 EXPECT_EQ(d111.get(), FlatTreeTraversal::next(*d11));
558 EXPECT_EQ(d2.get(), FlatTreeTraversal::next(*d111)); 558 EXPECT_EQ(d2.get(), FlatTreeTraversal::next(*d111));
559 EXPECT_EQ(d14.get(), FlatTreeTraversal::next(*d2)); 559 EXPECT_EQ(d14.get(), FlatTreeTraversal::next(*d2));
560 EXPECT_EQ(d112.get(), FlatTreeTraversal::next(*d14)); 560 EXPECT_EQ(d112.get(), FlatTreeTraversal::next(*d14));
561 EXPECT_EQ(d6.get(), FlatTreeTraversal::next(*d112)); 561 EXPECT_EQ(d6.get(), FlatTreeTraversal::next(*d112));
562 562
563 EXPECT_EQ(d112.get(), FlatTreeTraversal::previous(*d6)); 563 EXPECT_EQ(d112.get(), FlatTreeTraversal::previous(*d6));
564 564
565 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d111)); 565 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d111));
566 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d112)); 566 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d112));
567 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d2)); 567 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d2));
568 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d14)); 568 EXPECT_EQ(d11.get(), FlatTreeTraversal::parent(*d14));
569 EXPECT_EQ(nullptr, FlatTreeTraversal::parent(*d3)); 569 EXPECT_EQ(nullptr, FlatTreeTraversal::parent(*d3));
570 EXPECT_EQ(nullptr, FlatTreeTraversal::parent(*d4)); 570 EXPECT_EQ(nullptr, FlatTreeTraversal::parent(*d4));
571 } 571 }
572 572
573 } // namespace blink 573 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698