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 7a9596ca6c7126baf965eb67e21e1a2e3bfe50cb..9247e7c4716cb383178efc888c63f832e4a8439f 100644 |
--- a/third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp |
+++ b/third_party/WebKit/Source/core/editing/VisibleUnitsTest.cpp |
@@ -7,6 +7,7 @@ |
#include "core/editing/EditingTestBase.h" |
#include "core/editing/VisiblePosition.h" |
+#include "core/html/HTMLTextFormControlElement.h" |
#include "core/layout/line/InlineBox.h" |
#include <ostream> // NOLINT |
@@ -309,6 +310,24 @@ TEST_F(VisibleUnitsTest, isEndOfEditableOrNonEditableContent) |
EXPECT_FALSE(isEndOfEditableOrNonEditableContent(createVisiblePositionInComposedTree(*two->firstChild(), 2))); |
} |
+TEST_F(VisibleUnitsTest, isEndOfEditableOrNonEditableContentWithInput) |
+{ |
+ const char* bodyContent = "<input id=sample value=ab>cde"; |
+ setBodyContent(bodyContent); |
+ updateLayoutAndStyleForPainting(); |
+ |
+ Node* text = toHTMLTextFormControlElement(document().getElementById("sample"))->innerEditorElement()->firstChild(); |
+ |
+ EXPECT_FALSE(isEndOfEditableOrNonEditableContent(createVisiblePositionInDOMTree(*text, 0))); |
+ EXPECT_FALSE(isEndOfEditableOrNonEditableContent(createVisiblePositionInComposedTree(*text, 0))); |
+ |
+ EXPECT_FALSE(isEndOfEditableOrNonEditableContent(createVisiblePositionInDOMTree(*text, 1))); |
+ EXPECT_FALSE(isEndOfEditableOrNonEditableContent(createVisiblePositionInComposedTree(*text, 1))); |
+ |
+ EXPECT_TRUE(isEndOfEditableOrNonEditableContent(createVisiblePositionInDOMTree(*text, 2))); |
+ EXPECT_TRUE(isEndOfEditableOrNonEditableContent(createVisiblePositionInComposedTree(*text, 2))); |
+} |
+ |
TEST_F(VisibleUnitsTest, isEndOfLine) |
{ |
const char* bodyContent = "<a id=host><b id=one>11</b><b id=two>22</b></a><i id=three>333</i><i id=four>4444</i><br>"; |