OLD | NEW |
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 "config.h" | 5 #include "config.h" |
6 #include "core/dom/shadow/ComposedTreeTraversal.h" | 6 #include "core/dom/shadow/ComposedTreeTraversal.h" |
7 | 7 |
8 #include "bindings/core/v8/ExceptionStatePlaceholder.h" | 8 #include "bindings/core/v8/ExceptionStatePlaceholder.h" |
9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
10 #include "core/dom/Element.h" | 10 #include "core/dom/Element.h" |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 EXPECT_EQ(nullptr, ComposedTreeTraversal::lastWithin(*m2)); | 317 EXPECT_EQ(nullptr, ComposedTreeTraversal::lastWithin(*m2)); |
318 EXPECT_EQ(*m2, ComposedTreeTraversal::lastWithinOrSelf(*m2)); | 318 EXPECT_EQ(*m2, ComposedTreeTraversal::lastWithinOrSelf(*m2)); |
319 | 319 |
320 EXPECT_EQ(s11->firstChild(), ComposedTreeTraversal::lastWithin(*s11)); | 320 EXPECT_EQ(s11->firstChild(), ComposedTreeTraversal::lastWithin(*s11)); |
321 EXPECT_EQ(*s11->firstChild(), ComposedTreeTraversal::lastWithinOrSelf(*s11))
; | 321 EXPECT_EQ(*s11->firstChild(), ComposedTreeTraversal::lastWithinOrSelf(*s11))
; |
322 | 322 |
323 EXPECT_EQ(m10->firstChild(), ComposedTreeTraversal::lastWithin(*s12)); | 323 EXPECT_EQ(m10->firstChild(), ComposedTreeTraversal::lastWithin(*s12)); |
324 EXPECT_EQ(*m10->firstChild(), ComposedTreeTraversal::lastWithinOrSelf(*s12))
; | 324 EXPECT_EQ(*m10->firstChild(), ComposedTreeTraversal::lastWithinOrSelf(*s12))
; |
325 } | 325 } |
326 | 326 |
| 327 TEST_F(ComposedTreeTraversalTest, previousPostOrder) |
| 328 { |
| 329 const char* mainHTML = |
| 330 "<div id='m0'>m0</div>" |
| 331 "<div id='m1'>" |
| 332 "<span id='m10'>m10</span>" |
| 333 "<span id='m11'>m11</span>" |
| 334 "</div>" |
| 335 "<div id='m2'>m2</div>"; |
| 336 const char* shadowHTML = |
| 337 "<content select='#m11'></content>" |
| 338 "<a id='s11'>s11</a>" |
| 339 "<a id='s12'>" |
| 340 "<b id='s120'>s120</b>" |
| 341 "<content select='#m10'></content>" |
| 342 "</a>"; |
| 343 setupSampleHTML(mainHTML, shadowHTML, 1); |
| 344 |
| 345 RefPtrWillBeRawPtr<Element> body = document().body(); |
| 346 RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPT
ION); |
| 347 RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPT
ION); |
| 348 RefPtrWillBeRawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPT
ION); |
| 349 |
| 350 RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCE
PTION); |
| 351 RefPtrWillBeRawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCE
PTION); |
| 352 |
| 353 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot(); |
| 354 RefPtrWillBeRawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_N
O_EXCEPTION); |
| 355 RefPtrWillBeRawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_N
O_EXCEPTION); |
| 356 RefPtrWillBeRawPtr<Element> s120 = shadowRoot->querySelector("#s120", ASSERT
_NO_EXCEPTION); |
| 357 |
| 358 EXPECT_EQ(*m0->firstChild(), ComposedTreeTraversal::previousPostOrder(*m0)); |
| 359 EXPECT_EQ(*s12, ComposedTreeTraversal::previousPostOrder(*m1)); |
| 360 EXPECT_EQ(*m10->firstChild(), ComposedTreeTraversal::previousPostOrder(*m10)
); |
| 361 EXPECT_EQ(*s120, ComposedTreeTraversal::previousPostOrder(*m10->firstChild()
)); |
| 362 EXPECT_EQ(*s120, ComposedTreeTraversal::previousPostOrder(*m10->firstChild()
, s12.get())); |
| 363 EXPECT_EQ(*m11->firstChild(), ComposedTreeTraversal::previousPostOrder(*m11)
); |
| 364 EXPECT_EQ(*m0, ComposedTreeTraversal::previousPostOrder(*m11->firstChild()))
; |
| 365 EXPECT_EQ(nullptr, ComposedTreeTraversal::previousPostOrder(*m11->firstChild
(), m11.get())); |
| 366 EXPECT_EQ(*m2->firstChild(), ComposedTreeTraversal::previousPostOrder(*m2)); |
| 367 |
| 368 EXPECT_EQ(*s11->firstChild(), ComposedTreeTraversal::previousPostOrder(*s11)
); |
| 369 EXPECT_EQ(*m10, ComposedTreeTraversal::previousPostOrder(*s12)); |
| 370 EXPECT_EQ(*s120->firstChild(), ComposedTreeTraversal::previousPostOrder(*s12
0)); |
| 371 EXPECT_EQ(*s11, ComposedTreeTraversal::previousPostOrder(*s120->firstChild()
)); |
| 372 EXPECT_EQ(nullptr, ComposedTreeTraversal::previousPostOrder(*s120->firstChil
d(), s12.get())); |
| 373 } |
| 374 |
327 } // namespace blink | 375 } // namespace blink |
OLD | NEW |