diff options
Diffstat (limited to 'test/formats')
-rw-r--r-- | test/formats/osxml/OsxmlParserTest.cpp | 17 |
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()); +} + } |