From e9f726d2f8108104d86e967dd27bba1fbe493b19 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Tue, 3 Mar 2015 20:38:32 +0100 Subject: added more complex tests and prevented endless loops in DocumentChildHandler::startAnnotation --- test/formats/osml/OsmlParserTest.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test') 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 = 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 = env.parse("error_annotation_boundaries.osml", "", "", + RttiSet{&RttiTypes::Node}); + ASSERT_TRUE(logger.hasError()); + + ASSERT_TRUE(node != nullptr); + ASSERT_TRUE(node->isa(&RttiTypes::Document)); +} } -- cgit v1.2.3