Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(834)

Unified Diff: Source/core/editing/SurroundingTextTest.cpp

Issue 323983006: Make SurroundingText work for a Range. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: apply review comments Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/editing/SurroundingText.cpp ('k') | Source/web/WebSurroundingText.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/SurroundingTextTest.cpp
diff --git a/Source/core/editing/SurroundingTextTest.cpp b/Source/core/editing/SurroundingTextTest.cpp
index cee97200f93ffaadec8cc8df4e04eb5323ecf8da..d6a58e5c45ec40e4cc073cf9fe03e62b32875a37 100644
--- a/Source/core/editing/SurroundingTextTest.cpp
+++ b/Source/core/editing/SurroundingTextTest.cpp
@@ -58,7 +58,8 @@ TEST_F(SurroundingTextTest, BasicCaretSelection)
SurroundingText surroundingText(selection.start(), 1);
EXPECT_EQ("f", surroundingText.content());
- EXPECT_EQ(0u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(0u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(0u, surroundingText.endOffsetInContent());
}
{
@@ -67,7 +68,8 @@ TEST_F(SurroundingTextTest, BasicCaretSelection)
// maxlength/2 is used on the left and right.
EXPECT_EQ("foo", surroundingText.content().simplifyWhiteSpace());
- EXPECT_EQ(1u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.endOffsetInContent());
}
{
@@ -75,7 +77,8 @@ TEST_F(SurroundingTextTest, BasicCaretSelection)
SurroundingText surroundingText(selection.start(), 42);
EXPECT_EQ("foo bar", surroundingText.content().simplifyWhiteSpace());
- EXPECT_EQ(1u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.endOffsetInContent());
}
{
@@ -85,7 +88,8 @@ TEST_F(SurroundingTextTest, BasicCaretSelection)
SurroundingText surroundingText(selection.start(), 42);
EXPECT_EQ(0u, surroundingText.content().length());
- EXPECT_EQ(0u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(0u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(0u, surroundingText.endOffsetInContent());
}
{
@@ -93,7 +97,8 @@ TEST_F(SurroundingTextTest, BasicCaretSelection)
SurroundingText surroundingText(selection.start(), 2);
EXPECT_EQ("ar", surroundingText.content());
- EXPECT_EQ(1u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.endOffsetInContent());
}
{
@@ -101,7 +106,58 @@ TEST_F(SurroundingTextTest, BasicCaretSelection)
SurroundingText surroundingText(selection.start(), 42);
EXPECT_EQ("foo bar", surroundingText.content().simplifyWhiteSpace());
- EXPECT_EQ(7u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(7u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(7u, surroundingText.endOffsetInContent());
+ }
+}
+
+TEST_F(SurroundingTextTest, BasicRangeSelection)
+{
+ setHTML(String("<p id='selection'>Lorem ipsum dolor sit amet</p>"));
+
+ {
+ VisibleSelection selection = select(0, 5);
+ SurroundingText surroundingText(*selection.firstRange(), 1);
+
+ EXPECT_EQ("Lorem ", surroundingText.content());
+ EXPECT_EQ(0u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(5u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(0, 5);
+ SurroundingText surroundingText(*selection.firstRange(), 5);
+
+ EXPECT_EQ("Lorem ip", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(6u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(0, 5);
+ SurroundingText surroundingText(*selection.firstRange(), 42);
+
+ EXPECT_EQ("Lorem ipsum dolor sit amet", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(6u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(6, 11);
+ SurroundingText surroundingText(*selection.firstRange(), 2);
+
+ EXPECT_EQ(" ipsum ", surroundingText.content());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(6u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(6, 11);
+ SurroundingText surroundingText(*selection.firstRange(), 42);
+
+ EXPECT_EQ("Lorem ipsum dolor sit amet", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(7u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(12u, surroundingText.endOffsetInContent());
}
}
@@ -114,7 +170,8 @@ TEST_F(SurroundingTextTest, TreeCaretSelection)
SurroundingText surroundingText(selection.start(), 1);
EXPECT_EQ("f", surroundingText.content());
- EXPECT_EQ(0u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(0u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(0u, surroundingText.endOffsetInContent());
}
{
@@ -122,7 +179,8 @@ TEST_F(SurroundingTextTest, TreeCaretSelection)
SurroundingText surroundingText(selection.start(), 5);
EXPECT_EQ("foo", surroundingText.content().simplifyWhiteSpace());
- EXPECT_EQ(1u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.endOffsetInContent());
}
{
@@ -130,7 +188,8 @@ TEST_F(SurroundingTextTest, TreeCaretSelection)
SurroundingText surroundingText(selection.start(), 1337);
EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace());
- EXPECT_EQ(20u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(20u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(20u, surroundingText.endOffsetInContent());
}
{
@@ -138,7 +197,8 @@ TEST_F(SurroundingTextTest, TreeCaretSelection)
SurroundingText surroundingText(selection.start(), 2);
EXPECT_EQ("ar", surroundingText.content());
- EXPECT_EQ(1u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.endOffsetInContent());
}
{
@@ -146,7 +206,58 @@ TEST_F(SurroundingTextTest, TreeCaretSelection)
SurroundingText surroundingText(selection.start(), 1337);
EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace());
- EXPECT_EQ(26u, surroundingText.positionOffsetInContent());
+ EXPECT_EQ(26u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(26u, surroundingText.endOffsetInContent());
+ }
+}
+
+TEST_F(SurroundingTextTest, TreeRangeSelection)
+{
+ setHTML(String("<div>This is outside of <p id='selection'>foo bar</p> the selected node</div>"));
+
+ {
+ VisibleSelection selection = select(0, 1);
+ SurroundingText surroundingText(*selection.firstRange(), 1);
+
+ EXPECT_EQ("fo", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(0u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(1u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(0, 3);
+ SurroundingText surroundingText(*selection.firstRange(), 12);
+
+ EXPECT_EQ("e of foo bar", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(5u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(8u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(0, 3);
+ SurroundingText surroundingText(*selection.firstRange(), 1337);
+
+ EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(20u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(23u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(4, 7);
+ SurroundingText surroundingText(*selection.firstRange(), 12);
+
+ EXPECT_EQ("foo bar the se", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(5u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(8u, surroundingText.endOffsetInContent());
+ }
+
+ {
+ VisibleSelection selection = select(0, 7);
+ SurroundingText surroundingText(*selection.firstRange(), 1337);
+
+ EXPECT_EQ("This is outside of foo bar the selected node", surroundingText.content().simplifyWhiteSpace());
+ EXPECT_EQ(20u, surroundingText.startOffsetInContent());
+ EXPECT_EQ(27u, surroundingText.endOffsetInContent());
}
}
« no previous file with comments | « Source/core/editing/SurroundingText.cpp ('k') | Source/web/WebSurroundingText.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698