summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/tests/PageRagesTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/dvisvgm/tests/PageRagesTest.cpp')
-rw-r--r--dviware/dvisvgm/tests/PageRagesTest.cpp43
1 files changed, 38 insertions, 5 deletions
diff --git a/dviware/dvisvgm/tests/PageRagesTest.cpp b/dviware/dvisvgm/tests/PageRagesTest.cpp
index 6b0e00878b..465c806a48 100644
--- a/dviware/dvisvgm/tests/PageRagesTest.cpp
+++ b/dviware/dvisvgm/tests/PageRagesTest.cpp
@@ -2,7 +2,7 @@
** PageRagesTest.cpp **
** **
** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2022 Martin Gieseking <martin.gieseking@uos.de> **
+** Copyright (C) 2005-2023 Martin Gieseking <martin.gieseking@uos.de> **
** **
** This program is free software; you can redistribute it and/or **
** modify it under the terms of the GNU General Public License as **
@@ -154,10 +154,43 @@ TEST(PageRangesTest, overlap4) {
}
+TEST(PageRangesTest, even1) {
+ PageRanges pr;
+ ASSERT_TRUE(pr.parse("3-7, 1, 6-9:even"));
+ EXPECT_EQ(pr.size(), 3u);
+ Range cmp[] = {{4,4},{6,6},{8,8}};
+ EXPECT_TRUE(is_equal(pr, cmp));
+}
+
+
+TEST(PageRangesTest, even2) {
+ PageRanges pr;
+ ASSERT_TRUE(pr.parse("1,3,5:even"));
+ EXPECT_EQ(pr.size(), 0u);
+}
+
+
+TEST(PageRangesTest, odd1) {
+ PageRanges pr;
+ ASSERT_TRUE(pr.parse("3-7, 1, 6-9:odd"));
+ EXPECT_EQ(pr.size(), 5u);
+ Range cmp[] = {{1,1},{3,3},{5,5},{7,7},{9,9}};
+ EXPECT_TRUE(is_equal(pr, cmp));
+}
+
+
+TEST(PageRangesTest, odd2) {
+ PageRanges pr;
+ ASSERT_TRUE(pr.parse("2,8,10:odd"));
+ EXPECT_EQ(pr.size(), 0u);
+}
+
+
TEST(PageRangesTest, error) {
PageRanges pr;
- ASSERT_FALSE(pr.parse("x"));
- ASSERT_FALSE(pr.parse("5-x"));
- ASSERT_FALSE(pr.parse("5 6"));
- ASSERT_FALSE(pr.parse("5,"));
+ EXPECT_FALSE(pr.parse("x"));
+ EXPECT_FALSE(pr.parse("5-x"));
+ EXPECT_FALSE(pr.parse("5 6"));
+ EXPECT_FALSE(pr.parse("5,"));
+ EXPECT_FALSE(pr.parse("1-9:dummy"));
}