| Index: third_party/WebKit/Source/core/editing/markers/DocumentMarkerControllerTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerControllerTest.cpp b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerControllerTest.cpp
|
| index baa132cf86190273290df2d1676d4be2e27c0eff..9a7434825cc254be91833f4b222331caeef8aa87 100644
|
| --- a/third_party/WebKit/Source/core/editing/markers/DocumentMarkerControllerTest.cpp
|
| +++ b/third_party/WebKit/Source/core/editing/markers/DocumentMarkerControllerTest.cpp
|
| @@ -36,6 +36,7 @@
|
| #include "core/dom/Range.h"
|
| #include "core/dom/Text.h"
|
| #include "core/editing/EphemeralRange.h"
|
| +#include "core/editing/PlainTextRange.h"
|
| #include "core/html/HTMLElement.h"
|
| #include "core/testing/DummyPageHolder.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -56,7 +57,6 @@ class DocumentMarkerControllerTest : public ::testing::Test {
|
|
|
| Text* createTextNode(const char*);
|
| void markNodeContents(Node*);
|
| - void markNodeContentsWithComposition(Node*);
|
| void setBodyInnerHTML(const char*);
|
|
|
| private:
|
| @@ -232,4 +232,73 @@ TEST_F(DocumentMarkerControllerTest, SetMarkerkActiveTest) {
|
| EXPECT_TRUE(markerController().setTextMatchMarkersActive(range, true));
|
| }
|
|
|
| +TEST_F(DocumentMarkerControllerTest, MarkersInRange) {
|
| + setBodyInnerHTML("<b>range, not in range</b>");
|
| + document().updateStyleAndLayout();
|
| + Element* bElement = toElement(document().body()->firstChild());
|
| + EphemeralRange markerRange = PlainTextRange(0, 5).createRange(*bElement);
|
| + markerController().addTextMatchMarker(markerRange, false);
|
| +
|
| + DocumentMarkerVector results;
|
| +
|
| + // Checking a zero-length range inside a DocumentMarker should return the
|
| + // marker
|
| + EphemeralRange rangeToCheck1 = PlainTextRange(2, 2).createRange(*bElement);
|
| + results = document().markers().markersInRange(rangeToCheck1,
|
| + DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(1u, results.size());
|
| +
|
| + // Checking a non-zero length range on the endpoint of a DocumentMarker
|
| + // shouldn't return anything
|
| + EphemeralRange rangeToCheck2 = PlainTextRange(0, 0).createRange(*bElement);
|
| + results = document().markers().markersInRange(rangeToCheck2,
|
| + DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(0u, results.size());
|
| +
|
| + // Checking a non-zero length that overlaps a DocumentMarker should return
|
| + // that marker
|
| + EphemeralRange rangeToCheck3 = PlainTextRange(4, 6).createRange(*bElement);
|
| + results = document().markers().markersInRange(rangeToCheck3,
|
| + DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(1u, results.size());
|
| +}
|
| +
|
| +TEST_F(DocumentMarkerControllerTest, MarkersInRangeInclusive) {
|
| + setBodyInnerHTML("<b>range, not in range</b>");
|
| + document().updateStyleAndLayout();
|
| + Element* bElement = toElement(document().body()->firstChild());
|
| + EphemeralRange markerRange = PlainTextRange(0, 5).createRange(*bElement);
|
| + markerController().addTextMatchMarker(markerRange, false);
|
| +
|
| + DocumentMarkerVector results;
|
| +
|
| + // Checking a zero-length range inside a DocumentMarker should return the
|
| + // marker
|
| + EphemeralRange rangeToCheck1 = PlainTextRange(2, 2).createRange(*bElement);
|
| + results = document().markers().markersInRangeInclusive(
|
| + rangeToCheck1, DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(1u, results.size());
|
| +
|
| + // Checking a zero length range touching a DocumentMarker should return the
|
| + // marker
|
| + EphemeralRange rangeToCheck2 = PlainTextRange(0, 0).createRange(*bElement);
|
| + results = document().markers().markersInRangeInclusive(
|
| + rangeToCheck2, DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(1u, results.size());
|
| +
|
| + // Checking a non-zero length that overlaps a DocumentMarker should return
|
| + // that marker
|
| + EphemeralRange rangeToCheck3 = PlainTextRange(4, 6).createRange(*bElement);
|
| + results = document().markers().markersInRangeInclusive(
|
| + rangeToCheck3, DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(1u, results.size());
|
| +
|
| + // Checking a zero-length range not touching a DocumentMarker shouldn't return
|
| + // anything
|
| + EphemeralRange rangeToCheck4 = PlainTextRange(6, 6).createRange(*bElement);
|
| + results = document().markers().markersInRangeInclusive(
|
| + rangeToCheck4, DocumentMarker::AllMarkers());
|
| + EXPECT_EQ(0u, results.size());
|
| +}
|
| +
|
| } // namespace blink
|
|
|