| Index: third_party/WebKit/Source/core/editing/markers/DocumentMarkerTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerTest.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerTest.cpp
|
| index f6077a0791a536d407553bfe5cb2e3fc19bc5a2a..635244aad233f20bbdc2f014be5d1e79a56a7265 100644
|
| --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerTest.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerTest.cpp
|
| @@ -8,7 +8,14 @@
|
|
|
| namespace blink {
|
|
|
| -class DocumentMarkerTest : public ::testing::Test {};
|
| +using ShiftMarkerResult = DocumentMarker::ShiftMarkerResult;
|
| +
|
| +class DocumentMarkerTest : public ::testing::Test {
|
| + protected:
|
| + DocumentMarker* createMarker(unsigned startOffset, unsigned endOffset) {
|
| + return new DocumentMarker(startOffset, endOffset, false);
|
| + }
|
| +};
|
|
|
| TEST_F(DocumentMarkerTest, MarkerTypeIteratorEmpty) {
|
| DocumentMarker::MarkerTypes types(0);
|
| @@ -45,4 +52,183 @@ TEST_F(DocumentMarkerTest, MarkerTypeIteratorDistributed) {
|
| ++it;
|
| EXPECT_TRUE(it == types.end());
|
| }
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteAfter) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 0);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(5u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteEndAndAfter) {
|
| + DocumentMarker* marker = createMarker(10, 15);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 0);
|
| + EXPECT_EQ(10u, result.newStartOffset);
|
| + EXPECT_EQ(13u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| }
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteBeforeAndAfter) {
|
| + DocumentMarker* marker = createMarker(20, 25);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 0);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteBeforeAndBeginning) {
|
| + DocumentMarker* marker = createMarker(30, 35);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 0);
|
| + EXPECT_EQ(13u, result.newStartOffset);
|
| + EXPECT_EQ(16u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteBefore) {
|
| + DocumentMarker* marker = createMarker(40, 45);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 0);
|
| + EXPECT_EQ(21u, result.newStartOffset);
|
| + EXPECT_EQ(26u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteStartAndAfter) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 10, 0);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteBeforeAndEnd) {
|
| + DocumentMarker* marker = createMarker(5, 10);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 10, 0);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteMarkerExactly) {
|
| + DocumentMarker* marker = createMarker(5, 10);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(5, 5, 0);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_DeleteMiddleOfMarker) {
|
| + DocumentMarker* marker = createMarker(5, 10);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(6, 3, 0);
|
| + EXPECT_EQ(5u, result.newStartOffset);
|
| + EXPECT_EQ(7u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_InsertAfter) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(10, 0, 5);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(5u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_InsertImmediatelyAfter) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(5, 0, 5);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(5u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_InsertInMiddle) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(2, 0, 5);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(10u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_InsertImmediatelyBefore) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 0, 5);
|
| + EXPECT_EQ(5u, result.newStartOffset);
|
| + EXPECT_EQ(10u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_InsertBefore) {
|
| + DocumentMarker* marker = createMarker(5, 10);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 0, 5);
|
| + EXPECT_EQ(10u, result.newStartOffset);
|
| + EXPECT_EQ(15u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceAfter) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 1);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(5u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceEndAndAfter) {
|
| + DocumentMarker* marker = createMarker(10, 15);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 1);
|
| + EXPECT_EQ(10u, result.newStartOffset);
|
| + EXPECT_EQ(13u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceBeforeAndAfter) {
|
| + DocumentMarker* marker = createMarker(20, 25);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 1);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceBeforeAndBeginning) {
|
| + DocumentMarker* marker = createMarker(30, 35);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 1);
|
| + EXPECT_EQ(14u, result.newStartOffset);
|
| + EXPECT_EQ(17u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceBefore) {
|
| + DocumentMarker* marker = createMarker(40, 45);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(13, 19, 1);
|
| + EXPECT_EQ(22u, result.newStartOffset);
|
| + EXPECT_EQ(27u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceBeginning) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 2, 1);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(4u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceEnd) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(3, 2, 1);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(4u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceExactly) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 5, 1);
|
| + EXPECT_EQ(0u, result.newStartOffset);
|
| + EXPECT_EQ(1u, result.newEndOffset);
|
| + EXPECT_FALSE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceBeginningAndAfter) {
|
| + DocumentMarker* marker = createMarker(0, 5);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(0, 6, 1);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerTest, GetShiftedMarkerPosition_ReplaceBeforeAndEnd) {
|
| + DocumentMarker* marker = createMarker(5, 10);
|
| + ShiftMarkerResult result = marker->getShiftedMarkerPosition(4, 6, 1);
|
| + EXPECT_TRUE(result.shouldRemoveMarker);
|
| +}
|
| +
|
| +} // namespace blink
|
|
|