summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp
index 9945de25991..df2bb81cdb5 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/tests/StringMatcherTest.cpp
@@ -30,6 +30,7 @@ TEST(StringMatcherTest, match1) {
StreamInputReader ir(iss);
EXPECT_FALSE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 0u);
+ EXPECT_LT(ir.peek(), 0);
}
@@ -39,6 +40,7 @@ TEST(StringMatcherTest, match2) {
StreamInputReader ir(iss);
EXPECT_TRUE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 1u);
+ EXPECT_EQ(ir.peek(), 'b');
}
@@ -48,6 +50,7 @@ TEST(StringMatcherTest, match3) {
StreamInputReader ir(iss);
EXPECT_FALSE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 15u);
+ EXPECT_LT(ir.peek(), 0);
}
@@ -57,14 +60,17 @@ TEST(StringMatcherTest, match4) {
StreamInputReader ir(iss);
EXPECT_TRUE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 13u);
+ EXPECT_EQ(ir.peek(), 'x');
iss.clear();
iss.str("abcpatpattern");
EXPECT_TRUE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 13u);
+ EXPECT_LT(ir.peek(), 0);
iss.clear();
iss.str("pattern");
EXPECT_TRUE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 7u);
+ EXPECT_LT(ir.peek(), 0);
}
@@ -74,4 +80,65 @@ TEST(StringMatcherTest, match5) {
StreamInputReader ir(iss);
EXPECT_TRUE(matcher.match(ir));
EXPECT_EQ(matcher.charsRead(), 13u);
+ EXPECT_EQ(ir.peek(), 'x');
+}
+
+
+TEST(StringMatcherTest, read1) {
+ istringstream iss;
+ StringMatcher matcher("pattern");
+ StreamInputReader ir(iss);
+ EXPECT_TRUE(matcher.read(ir).empty());
+ EXPECT_EQ(matcher.charsRead(), 0u);
+ EXPECT_LT(ir.peek(), 0);
+}
+
+
+TEST(StringMatcherTest, read2) {
+ istringstream iss("abcpatpatternxyz");
+ StringMatcher matcher("");
+ StreamInputReader ir(iss);
+ EXPECT_EQ(matcher.read(ir), "a");
+ EXPECT_EQ(matcher.charsRead(), 1u);
+ EXPECT_EQ(ir.peek(), 'b');
+}
+
+
+TEST(StringMatcherTest, read3) {
+ istringstream iss("abcpatatternxyz");
+ StringMatcher matcher("pattern");
+ StreamInputReader ir(iss);
+ EXPECT_EQ(matcher.read(ir), "abcpatatternxyz");
+ EXPECT_EQ(matcher.charsRead(), 15u);
+ EXPECT_LT(ir.peek(), 0);
+}
+
+
+TEST(StringMatcherTest, read4) {
+ istringstream iss("abcpatpatternxyz");
+ StringMatcher matcher("pattern");
+ StreamInputReader ir(iss);
+ EXPECT_EQ(matcher.read(ir), "abcpatpattern");
+ EXPECT_EQ(matcher.charsRead(), 13u);
+ EXPECT_EQ(ir.peek(), 'x');
+ iss.clear();
+ iss.str("abcpatpattern");
+ EXPECT_EQ(matcher.read(ir), "abcpatpattern");
+ EXPECT_EQ(matcher.charsRead(), 13u);
+ EXPECT_LT(ir.peek(), 0);
+ iss.clear();
+ iss.str("pattern");
+ EXPECT_EQ(matcher.read(ir), "pattern");
+ EXPECT_EQ(matcher.charsRead(), 7u);
+ EXPECT_LT(ir.peek(), 0);
+}
+
+
+TEST(StringMatcherTest, read5) {
+ istringstream iss("abcpatpatternxyz");
+ StringMatcher matcher("pattern");
+ StreamInputReader ir(iss);
+ EXPECT_EQ(matcher.read(ir), "abcpatpattern");
+ EXPECT_EQ(matcher.charsRead(), 13u);
+ EXPECT_EQ(ir.peek(), 'x');
}