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

Side by Side 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 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/ExceptionState.h" 7 #include "bindings/core/v8/ExceptionState.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 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 587
588 EXPECT_EQ(slot, FlatTreeTraversal::firstChild(*parent)); 588 EXPECT_EQ(slot, FlatTreeTraversal::firstChild(*parent));
589 EXPECT_EQ(child1, FlatTreeTraversal::firstChild(*slot)); 589 EXPECT_EQ(child1, FlatTreeTraversal::firstChild(*slot));
590 EXPECT_EQ(child2, FlatTreeTraversal::nextSibling(*child1)); 590 EXPECT_EQ(child2, FlatTreeTraversal::nextSibling(*child1));
591 EXPECT_EQ(nullptr, FlatTreeTraversal::nextSibling(*child2)); 591 EXPECT_EQ(nullptr, FlatTreeTraversal::nextSibling(*child2));
592 EXPECT_EQ(slot, FlatTreeTraversal::parent(*child1)); 592 EXPECT_EQ(slot, FlatTreeTraversal::parent(*child1));
593 EXPECT_EQ(slot, FlatTreeTraversal::parent(*child2)); 593 EXPECT_EQ(slot, FlatTreeTraversal::parent(*child2));
594 EXPECT_EQ(parent, FlatTreeTraversal::parent(*slot)); 594 EXPECT_EQ(parent, FlatTreeTraversal::parent(*slot));
595 } 595 }
596 596
597 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
598 const char* mainHTML = "<div id='d1'></div>";
599 const char* shadowHTML =
600 "<div id='before'></div>"
601 "<slot><p>fallback content</p></slot>"
602 "<div id='after'></div>";
603
604 setupDocumentTree(mainHTML);
605
606 Element* body = document().body();
607 Element* d1 = body->querySelector("#d1");
608
609 attachOpenShadowRoot(*d1, shadowHTML);
610 ShadowRoot* shadowRoot = d1->openShadowRoot();
611 Element* before = shadowRoot->querySelector("#before");
612 Element* after = shadowRoot->querySelector("#after");
613 Element* fallbackContent = shadowRoot->querySelector("p");
614
615 EXPECT_EQ(before, FlatTreeTraversal::firstChild(*d1));
616 EXPECT_EQ(after, FlatTreeTraversal::lastChild(*d1));
617 EXPECT_EQ(d1, FlatTreeTraversal::parent(*fallbackContent));
618
619 EXPECT_EQ(fallbackContent, FlatTreeTraversal::nextSibling(*before));
620 EXPECT_EQ(after, FlatTreeTraversal::nextSibling(*fallbackContent));
621 EXPECT_EQ(nullptr, FlatTreeTraversal::nextSibling(*after));
622
623 EXPECT_EQ(fallbackContent, FlatTreeTraversal::previousSibling(*after));
624 EXPECT_EQ(before, FlatTreeTraversal::previousSibling(*fallbackContent));
625 EXPECT_EQ(nullptr, FlatTreeTraversal::previousSibling(*before));
626 }
627
597 } // namespace blink 628 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698