Index: third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp |
diff --git a/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp b/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp |
index 84f8742a9e9a160a15598a52449c10d81c072c86..891f0d46ba890dd4a8b5d8c54ad405643bde8ef5 100644 |
--- a/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp |
+++ b/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp |
@@ -10,8 +10,10 @@ |
#include "core/dom/Text.h" |
#include "core/editing/EditingTestBase.h" |
#include "core/editing/FrameCaret.h" |
+#include "core/editing/SelectionController.h" |
#include "core/frame/FrameView.h" |
#include "core/html/HTMLBodyElement.h" |
+#include "core/input/EventHandler.h" |
#include "core/layout/LayoutView.h" |
#include "core/paint/PaintInfo.h" |
#include "core/paint/PaintLayer.h" |
@@ -273,7 +275,40 @@ TEST_F(FrameSelectionTest, MoveRangeSelectionTest) { |
EXPECT_EQ_SELECTED_TEXT("Foo Bar"); |
} |
-TEST_F(FrameSelectionTest, setNonDirectionalSelectionIfNeeded) { |
+// TODO(yosin): We should move |SelectionControllerTest" to |
+// "SelectionControllerTest.cpp" |
+class SelectionControllerTest : public EditingTestBase { |
+ protected: |
+ SelectionControllerTest() = default; |
+ |
+ const VisibleSelection& visibleSelectionInDOMTree() const { |
+ return selection().selection(); |
+ } |
+ |
+ const VisibleSelectionInFlatTree& visibleSelectionInFlatTree() const { |
+ return selection().selectionInFlatTree(); |
+ } |
+ |
+ void setNonDirectionalSelectionIfNeeded(const VisibleSelectionInFlatTree&, |
+ TextGranularity); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(SelectionControllerTest); |
+}; |
+ |
+// TODO(yosin): We should move this function to "SelectionControllerTest.cpp" |
+void SelectionControllerTest::setNonDirectionalSelectionIfNeeded( |
+ const VisibleSelectionInFlatTree& newSelection, |
+ TextGranularity granularity) { |
+ frame() |
+ .eventHandler() |
+ .selectionController() |
+ .setNonDirectionalSelectionIfNeeded( |
+ newSelection, granularity, SelectionController::DoNotAdjustEndpoints); |
+} |
+ |
+// TODO(yosin): We should move this test to "SelectionControllerTest.cpp" |
+TEST_F(SelectionControllerTest, setNonDirectionalSelectionIfNeeded) { |
const char* bodyContent = "<span id=top>top</span><span id=host></span>"; |
const char* shadowContent = "<span id=bottom>bottom</span>"; |
setBodyContent(bodyContent); |
@@ -284,7 +319,7 @@ TEST_F(FrameSelectionTest, setNonDirectionalSelectionIfNeeded) { |
Node* host = document().getElementById("host"); |
// top to bottom |
- selection().setNonDirectionalSelectionIfNeeded( |
+ setNonDirectionalSelectionIfNeeded( |
createVisibleSelection(SelectionInFlatTree::Builder() |
.collapse(PositionInFlatTree(top, 1)) |
.extend(PositionInFlatTree(bottom, 3)) |
@@ -302,7 +337,7 @@ TEST_F(FrameSelectionTest, setNonDirectionalSelectionIfNeeded) { |
EXPECT_EQ(PositionInFlatTree(bottom, 3), visibleSelectionInFlatTree().end()); |
// bottom to top |
- selection().setNonDirectionalSelectionIfNeeded( |
+ setNonDirectionalSelectionIfNeeded( |
createVisibleSelection(SelectionInFlatTree::Builder() |
.collapse(PositionInFlatTree(bottom, 3)) |
.extend(PositionInFlatTree(top, 1)) |