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

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

Issue 2749033006: Handle fallback content case in FlatTreeTraversal::traverseSiblings() (Closed)
Patch Set: Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698