diff options
author | nyamatongwe <unknown> | 2012-09-12 13:44:09 +1000 |
---|---|---|
committer | nyamatongwe <unknown> | 2012-09-12 13:44:09 +1000 |
commit | 103c297abc07dd7071cdba1abff97bef1b36cc9d (patch) | |
tree | 43710cb9de38ecde7ffe2f6db14f55fa0a59f378 /test/unit/testRunStyles.cxx | |
parent | 50fd584ed6c1a30769f9aa78a73a20c6b1ce46a2 (diff) | |
download | scintilla-mirror-103c297abc07dd7071cdba1abff97bef1b36cc9d.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.cxx | 31 |
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)); +} |