diff options
-rw-r--r-- | test/unit/testDecoration.cxx | 44 | ||||
-rw-r--r-- | test/unit/unitTest.cxx | 2 |
2 files changed, 45 insertions, 1 deletions
diff --git a/test/unit/testDecoration.cxx b/test/unit/testDecoration.cxx index 769cf8983..86eb9ec39 100644 --- a/test/unit/testDecoration.cxx +++ b/test/unit/testDecoration.cxx @@ -43,3 +43,47 @@ TEST_CASE("Decoration") { REQUIRE(!deco.Empty()); } } + +// Test DecorationList. + +TEST_CASE("DecorationList") { + + DecorationList decol; + + SECTION("HasCorrectIndicator") { + decol.SetCurrentIndicator(indicator); + REQUIRE(indicator == decol.GetCurrentIndicator()); + } + + SECTION("HasCorrectCurrentValue") { + const int value = 55; + decol.SetCurrentValue(value); + REQUIRE(value == decol.GetCurrentValue()); + } + + SECTION("ExpandSetValues") { + decol.SetCurrentIndicator(indicator); + decol.InsertSpace(0, 9); + const int value = 59; + int position = 4; + int fillLength = 3; + bool changed = decol.FillRange(position, value, fillLength); + REQUIRE(changed); + REQUIRE(position == 4); + REQUIRE(fillLength == 3); + REQUIRE(fillLength == 3); + REQUIRE(decol.ValueAt(indicator, 5) == value); + REQUIRE(decol.AllOnFor(5) == (1 << indicator)); + REQUIRE(decol.Start(indicator, 5) == 4); + REQUIRE(decol.End(indicator, 5) == 7); + const int indicatorB=6; + decol.SetCurrentIndicator(indicatorB); + changed = decol.FillRange(position, value, fillLength); + REQUIRE(changed); + REQUIRE(decol.AllOnFor(5) == ((1 << indicator) | (1 << indicatorB))); + decol.DeleteRange(5, 1); + REQUIRE(decol.Start(indicatorB, 5) == 4); + REQUIRE(decol.End(indicatorB, 5) == 6); + } + +} diff --git a/test/unit/unitTest.cxx b/test/unit/unitTest.cxx index 3bbe1b46a..49c8253b8 100644 --- a/test/unit/unitTest.cxx +++ b/test/unit/unitTest.cxx @@ -8,9 +8,9 @@ ContractionState CharClassify Decoration + DecorationList To do: - DecorationList PerLine * CellBuffer * Range |