summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-03-03 20:38:32 +0100
committerAndreas Stöckel <andreas@somweyr.de>2015-03-03 20:38:32 +0100
commite9f726d2f8108104d86e967dd27bba1fbe493b19 (patch)
treee0bf6412eecfe43b883b253748664e60c76f2cee /test
parentec758436a01903ded6ec5951fa1fc5d2fe062239 (diff)
added more complex tests and prevented endless loops in DocumentChildHandler::startAnnotation
Diffstat (limited to 'test')
-rw-r--r--test/formats/osml/OsmlParserTest.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/formats/osml/OsmlParserTest.cpp b/test/formats/osml/OsmlParserTest.cpp
index 1c8894d..cc711b4 100644
--- a/test/formats/osml/OsmlParserTest.cpp
+++ b/test/formats/osml/OsmlParserTest.cpp
@@ -212,6 +212,31 @@ TEST(OsmlParser, simpleAnnotation)
ASSERT_TRUE(node->isa(&RttiTypes::Document));
}
+TEST(OsmlParser, overlappingAnnotations)
+{
+ OsmlStandaloneEnvironment env(logger);
+ logger.reset();
+
+ Rooted<Node> node = env.parse("overlapping_annotations.osml", "", "",
+ RttiSet{&RttiTypes::Node});
+ ASSERT_FALSE(logger.hasError());
+
+ ASSERT_TRUE(node != nullptr);
+ ASSERT_TRUE(node->isa(&RttiTypes::Document));
+}
+
+TEST(OsmlParser, errorAnnotationBoundaries)
+{
+ OsmlStandaloneEnvironment env(logger);
+ logger.reset();
+
+ Rooted<Node> node = env.parse("error_annotation_boundaries.osml", "", "",
+ RttiSet{&RttiTypes::Node});
+ ASSERT_TRUE(logger.hasError());
+
+ ASSERT_TRUE(node != nullptr);
+ ASSERT_TRUE(node->isa(&RttiTypes::Document));
+}
}