summaryrefslogtreecommitdiff
path: root/test/formats
diff options
context:
space:
mode:
Diffstat (limited to 'test/formats')
-rw-r--r--test/formats/osxml/OsxmlParserTest.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/formats/osxml/OsxmlParserTest.cpp b/test/formats/osxml/OsxmlParserTest.cpp
index 603d6c1..7c7f2a8 100644
--- a/test/formats/osxml/OsxmlParserTest.cpp
+++ b/test/formats/osxml/OsxmlParserTest.cpp
@@ -384,5 +384,22 @@ TEST(OsxmlParser, documentParsing)
}
}
+TEST(OsxmlParser, emptyNamedField){
+ logger.reset();
+ XmlStandaloneEnvironment env(logger);
+ Rooted<Node> book_document_node =
+ env.parse("empty_named_field.osxml", "", "", RttiSet{&RttiTypes::Document});
+ ASSERT_FALSE(logger.hasError());
+ ASSERT_FALSE(book_document_node == nullptr);
+ ASSERT_TRUE(book_document_node->isa(&RttiTypes::Document));
+ // check the document content.
+ Rooted<Document> doc = book_document_node.cast<Document>();
+ ASSERT_TRUE(doc->validate(logger));
+ checkStructuredEntity(doc->getRoot(), doc, doc, "a");
+ ASSERT_EQ(2U, doc->getRoot()->getDescriptor()->getFieldDescriptors().size());
+ ASSERT_TRUE(doc->getRoot()->getField(0).empty());
+ ASSERT_TRUE(doc->getRoot()->getField(1).empty());
+}
+
}