| Index: Source/core/dom/shadow/ComposedTreeTraversalTest.cpp
|
| diff --git a/Source/core/dom/shadow/ComposedTreeTraversalTest.cpp b/Source/core/dom/shadow/ComposedTreeTraversalTest.cpp
|
| index 346e39dafafe5115c81caefac94ab3efe2c098f6..f653c7e3856362360150e652e0e1c11edd498012 100644
|
| --- a/Source/core/dom/shadow/ComposedTreeTraversalTest.cpp
|
| +++ b/Source/core/dom/shadow/ComposedTreeTraversalTest.cpp
|
| @@ -324,4 +324,52 @@ TEST_F(ComposedTreeTraversalTest, lastWithin)
|
| EXPECT_EQ(*m10->firstChild(), ComposedTreeTraversal::lastWithinOrSelf(*s12));
|
| }
|
|
|
| +TEST_F(ComposedTreeTraversalTest, previousPostOrder)
|
| +{
|
| + const char* mainHTML =
|
| + "<div id='m0'>m0</div>"
|
| + "<div id='m1'>"
|
| + "<span id='m10'>m10</span>"
|
| + "<span id='m11'>m11</span>"
|
| + "</div>"
|
| + "<div id='m2'>m2</div>";
|
| + const char* shadowHTML =
|
| + "<content select='#m11'></content>"
|
| + "<a id='s11'>s11</a>"
|
| + "<a id='s12'>"
|
| + "<b id='s120'>s120</b>"
|
| + "<content select='#m10'></content>"
|
| + "</a>";
|
| + setupSampleHTML(mainHTML, shadowHTML, 1);
|
| +
|
| + RefPtrWillBeRawPtr<Element> body = document().body();
|
| + RefPtrWillBeRawPtr<Element> m0 = body->querySelector("#m0", ASSERT_NO_EXCEPTION);
|
| + RefPtrWillBeRawPtr<Element> m1 = body->querySelector("#m1", ASSERT_NO_EXCEPTION);
|
| + RefPtrWillBeRawPtr<Element> m2 = body->querySelector("#m2", ASSERT_NO_EXCEPTION);
|
| +
|
| + RefPtrWillBeRawPtr<Element> m10 = body->querySelector("#m10", ASSERT_NO_EXCEPTION);
|
| + RefPtrWillBeRawPtr<Element> m11 = body->querySelector("#m11", ASSERT_NO_EXCEPTION);
|
| +
|
| + RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = m1->openShadowRoot();
|
| + RefPtrWillBeRawPtr<Element> s11 = shadowRoot->querySelector("#s11", ASSERT_NO_EXCEPTION);
|
| + RefPtrWillBeRawPtr<Element> s12 = shadowRoot->querySelector("#s12", ASSERT_NO_EXCEPTION);
|
| + RefPtrWillBeRawPtr<Element> s120 = shadowRoot->querySelector("#s120", ASSERT_NO_EXCEPTION);
|
| +
|
| + EXPECT_EQ(*m0->firstChild(), ComposedTreeTraversal::previousPostOrder(*m0));
|
| + EXPECT_EQ(*s12, ComposedTreeTraversal::previousPostOrder(*m1));
|
| + EXPECT_EQ(*m10->firstChild(), ComposedTreeTraversal::previousPostOrder(*m10));
|
| + EXPECT_EQ(*s120, ComposedTreeTraversal::previousPostOrder(*m10->firstChild()));
|
| + EXPECT_EQ(*s120, ComposedTreeTraversal::previousPostOrder(*m10->firstChild(), s12.get()));
|
| + EXPECT_EQ(*m11->firstChild(), ComposedTreeTraversal::previousPostOrder(*m11));
|
| + EXPECT_EQ(*m0, ComposedTreeTraversal::previousPostOrder(*m11->firstChild()));
|
| + EXPECT_EQ(nullptr, ComposedTreeTraversal::previousPostOrder(*m11->firstChild(), m11.get()));
|
| + EXPECT_EQ(*m2->firstChild(), ComposedTreeTraversal::previousPostOrder(*m2));
|
| +
|
| + EXPECT_EQ(*s11->firstChild(), ComposedTreeTraversal::previousPostOrder(*s11));
|
| + EXPECT_EQ(*m10, ComposedTreeTraversal::previousPostOrder(*s12));
|
| + EXPECT_EQ(*s120->firstChild(), ComposedTreeTraversal::previousPostOrder(*s120));
|
| + EXPECT_EQ(*s11, ComposedTreeTraversal::previousPostOrder(*s120->firstChild()));
|
| + EXPECT_EQ(nullptr, ComposedTreeTraversal::previousPostOrder(*s120->firstChild(), s12.get()));
|
| +}
|
| +
|
| } // namespace blink
|
|
|