From 103c297abc07dd7071cdba1abff97bef1b36cc9d Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 12 Sep 2012 13:44:09 +1000 Subject: Fix bug where removing all characters from indicator at end of document did not remove that run causing iteration over the indicator to hang. --- test/unit/testRunStyles.cxx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'test/unit') 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)); +} -- cgit v1.2.3