aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/testDecoration.cxx44
-rw-r--r--test/unit/unitTest.cxx2
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