diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-03-03 20:20:59 +0100 |
---|---|---|
committer | Andreas Stöckel <andreas@somweyr.de> | 2015-03-03 20:20:59 +0100 |
commit | ec758436a01903ded6ec5951fa1fc5d2fe062239 (patch) | |
tree | 4dd95626d1efce4bf8cd8c0f6bb7fda8d6a6b968 /test | |
parent | 42c0480b4fbf80afa0c5b13650a0af74311d7202 (diff) |
Added unit tests for annotation handling
Diffstat (limited to 'test')
-rw-r--r-- | test/core/parser/stack/StackTest.cpp | 3 | ||||
-rw-r--r-- | test/formats/osml/OsmlParserTest.cpp | 14 | ||||
-rw-r--r-- | test/formats/osxml/OsxmlEventParserTest.cpp | 4 | ||||
-rw-r--r-- | test/formats/osxml/OsxmlParserTest.cpp | 15 |
4 files changed, 32 insertions, 4 deletions
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> 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<Node> 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<Document> doc = book_document_node.cast<Document>(); + ASSERT_TRUE(doc->validate(logger)); + ASSERT_FALSE(logger.hasError()); +} + + } |