Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp b/third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp |
| index d87fd3ab2ca8daa0b9876d5726c12888e17987fb..0512a65300ca88b1fae518ccc4967db913861484 100644 |
| --- a/third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp |
| +++ b/third_party/WebKit/Source/core/dom/shadow/FlatTreeTraversalTest.cpp |
| @@ -594,4 +594,35 @@ TEST_F(FlatTreeTraversalTest, v1SlotInDocumentTree) { |
| EXPECT_EQ(parent, FlatTreeTraversal::parent(*slot)); |
| } |
| +TEST_F(FlatTreeTraversalTest, v1FallbackContent) { |
|
hayato
2017/03/16 09:32:56
Could you add a test for a slot which has both chi
kochi
2017/03/16 10:09:54
Added that case, and one more all-fallback content
|
| + const char* mainHTML = "<div id='d1'></div>"; |
| + const char* shadowHTML = |
| + "<div id='before'></div>" |
| + "<slot><p>fallback content</p></slot>" |
| + "<div id='after'></div>"; |
| + |
| + setupDocumentTree(mainHTML); |
| + |
| + Element* body = document().body(); |
| + Element* d1 = body->querySelector("#d1"); |
| + |
| + attachOpenShadowRoot(*d1, shadowHTML); |
| + ShadowRoot* shadowRoot = d1->openShadowRoot(); |
| + Element* before = shadowRoot->querySelector("#before"); |
| + Element* after = shadowRoot->querySelector("#after"); |
| + Element* fallbackContent = shadowRoot->querySelector("p"); |
| + |
| + EXPECT_EQ(before, FlatTreeTraversal::firstChild(*d1)); |
| + EXPECT_EQ(after, FlatTreeTraversal::lastChild(*d1)); |
| + EXPECT_EQ(d1, FlatTreeTraversal::parent(*fallbackContent)); |
| + |
| + EXPECT_EQ(fallbackContent, FlatTreeTraversal::nextSibling(*before)); |
| + EXPECT_EQ(after, FlatTreeTraversal::nextSibling(*fallbackContent)); |
| + EXPECT_EQ(nullptr, FlatTreeTraversal::nextSibling(*after)); |
| + |
| + EXPECT_EQ(fallbackContent, FlatTreeTraversal::previousSibling(*after)); |
| + EXPECT_EQ(before, FlatTreeTraversal::previousSibling(*fallbackContent)); |
| + EXPECT_EQ(nullptr, FlatTreeTraversal::previousSibling(*before)); |
| +} |
| + |
| } // namespace blink |