Index: third_party/WebKit/Source/core/layout/LayoutInlineTest.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutInlineTest.cpp b/third_party/WebKit/Source/core/layout/LayoutInlineTest.cpp |
index 21c8cc807e36e5ba5e714b68cf4be987b660a7b5..662d734360df9b9d300cf278fa5fda463a601616 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutInlineTest.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutInlineTest.cpp |
@@ -4,6 +4,7 @@ |
#include "core/layout/LayoutInline.h" |
+#include "core/layout/LayoutBlockFlow.h" |
#include "core/layout/LayoutTestHelper.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -20,4 +21,28 @@ TEST_F(LayoutInlineTest, LayoutNameCalledWithNullStyle) |
obj->destroy(); |
} |
+TEST_F(LayoutInlineTest, SimpleContinuation) |
+{ |
+ setBodyInnerHTML("<span id='splitInline'><i id='before'></i><h1 id='blockChild'></h1><i id='after'></i></span>"); |
+ |
+ LayoutInline* splitInlinePart1 = toLayoutInline(getLayoutObjectByElementId("splitInline")); |
+ ASSERT_TRUE(splitInlinePart1); |
+ ASSERT_TRUE(splitInlinePart1->firstChild()); |
+ EXPECT_EQ(splitInlinePart1->firstChild(), getLayoutObjectByElementId("before")); |
+ EXPECT_FALSE(splitInlinePart1->firstChild()->nextSibling()); |
+ |
+ LayoutBlockFlow* block = toLayoutBlockFlow(splitInlinePart1->continuation()); |
+ ASSERT_TRUE(block); |
+ ASSERT_TRUE(block->firstChild()); |
+ EXPECT_EQ(block->firstChild(), getLayoutObjectByElementId("blockChild")); |
+ EXPECT_FALSE(block->firstChild()->nextSibling()); |
+ |
+ LayoutInline* splitInlinePart2 = toLayoutInline(block->continuation()); |
+ ASSERT_TRUE(splitInlinePart2); |
+ ASSERT_TRUE(splitInlinePart2->firstChild()); |
+ EXPECT_EQ(splitInlinePart2->firstChild(), getLayoutObjectByElementId("after")); |
+ EXPECT_FALSE(splitInlinePart2->firstChild()->nextSibling()); |
+ EXPECT_FALSE(splitInlinePart2->continuation()); |
+} |
+ |
} // namespace blink |