| Index: third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp b/third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp
|
| index 3079616b9d59045c6bd168e35876173f04a1caf5..75a7a8dba0af29d3913f1cbf4f7fc6586b5c2971 100644
|
| --- a/third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp
|
| @@ -762,6 +762,28 @@ TEST_F(VisibleUnitsTest, mostBackwardCaretPositionAfterAnchor)
|
| EXPECT_EQ(PositionInComposedTree::lastPositionInNode(host.get()), mostForwardCaretPosition(PositionInComposedTree::afterNode(host.get())));
|
| }
|
|
|
| +TEST_F(VisibleUnitsTest, mostBackwardCaretPositionFirstLetter)
|
| +{
|
| + // Note: first-letter pseudo element contains letter and punctuations.
|
| + const char* bodyContent = "<style>p:first-letter {color:red;}</style><p id=sample> (2)45 </p>";
|
| + setBodyContent(bodyContent);
|
| + updateLayoutAndStyleForPainting();
|
| +
|
| + Node* sample = document().getElementById("sample")->firstChild();
|
| +
|
| + EXPECT_EQ(Position(sample->parentNode(), 0), mostBackwardCaretPosition(Position(sample, 0)));
|
| + EXPECT_EQ(Position(sample->parentNode(), 0), mostBackwardCaretPosition(Position(sample, 1)));
|
| + EXPECT_EQ(Position(sample, 2), mostBackwardCaretPosition(Position(sample, 2)));
|
| + EXPECT_EQ(Position(sample, 3), mostBackwardCaretPosition(Position(sample, 3)));
|
| + EXPECT_EQ(Position(sample, 4), mostBackwardCaretPosition(Position(sample, 4)));
|
| + EXPECT_EQ(Position(sample, 5), mostBackwardCaretPosition(Position(sample, 5)));
|
| + EXPECT_EQ(Position(sample, 6), mostBackwardCaretPosition(Position(sample, 6)));
|
| + EXPECT_EQ(Position(sample, 6), mostBackwardCaretPosition(Position(sample, 7)));
|
| + EXPECT_EQ(Position(sample, 6), mostBackwardCaretPosition(Position::lastPositionInNode(sample->parentNode())));
|
| + EXPECT_EQ(Position(sample, 6), mostBackwardCaretPosition(Position::afterNode(sample->parentNode())));
|
| + EXPECT_EQ(Position::lastPositionInNode(document().body()), mostBackwardCaretPosition(Position::lastPositionInNode(document().body())));
|
| +}
|
| +
|
| TEST_F(VisibleUnitsTest, mostForwardCaretPositionAfterAnchor)
|
| {
|
| const char* bodyContent = "<p id='host'><b id='one'>1</b></p>";
|
| @@ -778,6 +800,28 @@ TEST_F(VisibleUnitsTest, mostForwardCaretPositionAfterAnchor)
|
| EXPECT_EQ(PositionInComposedTree(three->firstChild(), 3), mostBackwardCaretPosition(PositionInComposedTree::afterNode(host.get())));
|
| }
|
|
|
| +TEST_F(VisibleUnitsTest, mostForwardCaretPositionFirstLetter)
|
| +{
|
| + // Note: first-letter pseudo element contains letter and punctuations.
|
| + const char* bodyContent = "<style>p:first-letter {color:red;}</style><p id=sample> (2)45 </p>";
|
| + setBodyContent(bodyContent);
|
| + updateLayoutAndStyleForPainting();
|
| +
|
| + Node* sample = document().getElementById("sample")->firstChild();
|
| +
|
| + EXPECT_EQ(Position(document().body(), 0), mostForwardCaretPosition(Position::firstPositionInNode(document().body())));
|
| + EXPECT_EQ(Position(sample, 1), mostForwardCaretPosition(Position::beforeNode(sample->parentNode())));
|
| + EXPECT_EQ(Position(sample, 1), mostForwardCaretPosition(Position::firstPositionInNode(sample->parentNode())));
|
| + EXPECT_EQ(Position(sample, 1), mostForwardCaretPosition(Position(sample, 0)));
|
| + EXPECT_EQ(Position(sample, 1), mostForwardCaretPosition(Position(sample, 1)));
|
| + EXPECT_EQ(Position(sample, 2), mostForwardCaretPosition(Position(sample, 2)));
|
| + EXPECT_EQ(Position(sample, 3), mostForwardCaretPosition(Position(sample, 3)));
|
| + EXPECT_EQ(Position(sample, 4), mostForwardCaretPosition(Position(sample, 4)));
|
| + EXPECT_EQ(Position(sample, 5), mostForwardCaretPosition(Position(sample, 5)));
|
| + EXPECT_EQ(Position(sample, 7), mostForwardCaretPosition(Position(sample, 6)));
|
| + EXPECT_EQ(Position(sample, 7), mostForwardCaretPosition(Position(sample, 7)));
|
| +}
|
| +
|
| TEST_F(VisibleUnitsTest, nextPositionOf)
|
| {
|
| const char* bodyContent = "<b id=zero>0</b><p id=host><b id=one>1</b><b id=two>22</b></p><b id=three>333</b>";
|
|
|