aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/unit/testRunStyles.cxx
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2012-09-12 13:44:09 +1000
committernyamatongwe <devnull@localhost>2012-09-12 13:44:09 +1000
commit75bed4f0a73a0ef3a0d69026f21bc280b2232513 (patch)
tree6a9d3cfe610f0f6c16fb0d47e406bdff5625a340 /test/unit/testRunStyles.cxx
parent580fe992b298ebe0dda18b1d286b0a06bc7d5e3b (diff)
downloadscintilla-mirror-75bed4f0a73a0ef3a0d69026f21bc280b2232513.tar.gz
Fix bug where removing all characters from indicator at end of document did
not remove that run causing iteration over the indicator to hang.
Diffstat (limited to 'test/unit/testRunStyles.cxx')
-rw-r--r--test/unit/testRunStyles.cxx31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/unit/testRunStyles.cxx b/test/unit/testRunStyles.cxx
index 5cf4b7e01..8fec25b56 100644
--- a/test/unit/testRunStyles.cxx
+++ b/test/unit/testRunStyles.cxx
@@ -281,3 +281,34 @@ TEST_F(RunStylesTest, DeleteAll) {
EXPECT_EQ(1, prs->Runs());
}
+TEST_F(RunStylesTest, DeleteSecond) {
+ prs->InsertSpace(0, 3);
+ int startFill = 1;
+ int lengthFill = 1;
+ EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill));
+ EXPECT_EQ(3, prs->Length());
+ EXPECT_EQ(3, prs->Runs());
+ prs->DeleteRange(1, 1);
+ EXPECT_EQ(2, prs->Length());
+ EXPECT_EQ(1, prs->Runs());
+}
+
+TEST_F(RunStylesTest, DeleteEndRun) {
+ prs->InsertSpace(0, 2);
+ int startFill = 1;
+ int lengthFill = 1;
+ EXPECT_EQ(true, prs->FillRange(startFill, 99, lengthFill));
+ EXPECT_EQ(2, prs->Length());
+ EXPECT_EQ(2, prs->Runs());
+ EXPECT_EQ(0, prs->StartRun(0));
+ EXPECT_EQ(1, prs->EndRun(0));
+ EXPECT_EQ(1, prs->StartRun(1));
+ EXPECT_EQ(2, prs->EndRun(1));
+ prs->DeleteRange(1, 1);
+ EXPECT_EQ(1, prs->Length());
+ EXPECT_EQ(1, prs->Runs());
+ EXPECT_EQ(0, prs->StartRun(0));
+ EXPECT_EQ(1, prs->EndRun(0));
+ EXPECT_EQ(0, prs->StartRun(1));
+ EXPECT_EQ(1, prs->EndRun(1));
+}