From ec758436a01903ded6ec5951fa1fc5d2fe062239 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Tue, 3 Mar 2015 20:20:59 +0100 Subject: Added unit tests for annotation handling --- test/core/parser/stack/StackTest.cpp | 3 +-- test/formats/osml/OsmlParserTest.cpp | 14 ++++++++++++++ test/formats/osxml/OsxmlEventParserTest.cpp | 4 ++-- test/formats/osxml/OsxmlParserTest.cpp | 15 +++++++++++++++ 4 files changed, 32 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/core/parser/stack/StackTest.cpp b/test/core/parser/stack/StackTest.cpp index a831c32..af2b8e8 100644 --- a/test/core/parser/stack/StackTest.cpp +++ b/test/core/parser/stack/StackTest.cpp @@ -144,8 +144,7 @@ public: return tracker.startCommandResult; } - bool startAnnotation(Variant::mapType &args, - AnnotationType annotationType) override + bool startAnnotation(Variant::mapType &args) override { tracker.startAnnotationArgs = args; tracker.startAnnotationCount++; diff --git a/test/formats/osml/OsmlParserTest.cpp b/test/formats/osml/OsmlParserTest.cpp index c88232b..1c8894d 100644 --- a/test/formats/osml/OsmlParserTest.cpp +++ b/test/formats/osml/OsmlParserTest.cpp @@ -199,5 +199,19 @@ TEST(OsmlParser, explicitFields) ASSERT_TRUE(node->isa(&RttiTypes::Document)); } +TEST(OsmlParser, simpleAnnotation) +{ + OsmlStandaloneEnvironment env(logger); + logger.reset(); + + Rooted node = env.parse("simple_annotation.osml", "", "", + RttiSet{&RttiTypes::Node}); + ASSERT_FALSE(logger.hasError()); + + ASSERT_TRUE(node != nullptr); + ASSERT_TRUE(node->isa(&RttiTypes::Document)); +} + + } diff --git a/test/formats/osxml/OsxmlEventParserTest.cpp b/test/formats/osxml/OsxmlEventParserTest.cpp index d4e9443..6e1dddf 100644 --- a/test/formats/osxml/OsxmlEventParserTest.cpp +++ b/test/formats/osxml/OsxmlEventParserTest.cpp @@ -58,10 +58,10 @@ public: } void annotationEnd(const Variant &className, - const Variant &elementName) override + const Variant::mapType &args) override { events.emplace_back(OsxmlEvent::ANNOTATION_END, - Variant::arrayType{className, elementName}); + Variant::arrayType{className, args}); } void rangeEnd() override diff --git a/test/formats/osxml/OsxmlParserTest.cpp b/test/formats/osxml/OsxmlParserTest.cpp index 79dd58b..03f10d3 100644 --- a/test/formats/osxml/OsxmlParserTest.cpp +++ b/test/formats/osxml/OsxmlParserTest.cpp @@ -399,5 +399,20 @@ TEST(OsxmlParser, complexDocumentParsing) ASSERT_FALSE(logger.hasError()); } +TEST(OsxmlParser, simpleAnnotation) +{ + logger.reset(); + XmlStandaloneEnvironment env(logger); + Rooted book_document_node = + env.parse("simple_annotation.osxml", "", "", RttiSet{&RttiTypes::Document}); + ASSERT_FALSE(logger.hasError()); + ASSERT_FALSE(book_document_node == nullptr); + ASSERT_TRUE(book_document_node->isa(&RttiTypes::Document)); + Rooted doc = book_document_node.cast(); + ASSERT_TRUE(doc->validate(logger)); + ASSERT_FALSE(logger.hasError()); +} + + } -- cgit v1.2.3