summaryrefslogtreecommitdiff
path: root/test/formats
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-02-18 11:32:23 +0100
committerAndreas Stöckel <andreas@somweyr.de>2015-02-18 11:32:23 +0100
commit2de08643afdb4771ef8d1f6dd836ded20db244cf (patch)
treeee34807cb0d29d41666afa46c183188c697080db /test/formats
parentd76cf800ea9a61ff3860636707558802c00da401 (diff)
Fix for issue #85 -- only allowing explicit fields if no structure elements or data have been given beforehand. Added unit tests.
Diffstat (limited to 'test/formats')
-rw-r--r--test/formats/osml/OsmlParserTest.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/formats/osml/OsmlParserTest.cpp b/test/formats/osml/OsmlParserTest.cpp
index 4cda20a..5127b32 100644
--- a/test/formats/osml/OsmlParserTest.cpp
+++ b/test/formats/osml/OsmlParserTest.cpp
@@ -172,5 +172,32 @@ TEST(OsmlParser, structWithNoField)
ASSERT_TRUE(node->isa(&RttiTypes::Document));
}
+TEST(OsmlParser, invalidExplicitFields)
+{
+ OsmlStandaloneEnvironment env(logger);
+ logger.reset();
+
+ ASSERT_FALSE(logger.hasError());
+ Rooted<Node> node = env.parse("invalid_explicit_fields.osml", "", "",
+ RttiSet{&RttiTypes::Node});
+ ASSERT_TRUE(logger.hasError());
+
+ ASSERT_TRUE(node != nullptr);
+ ASSERT_TRUE(node->isa(&RttiTypes::Document));
+}
+
+TEST(OsmlParser, explicitFields)
+{
+ OsmlStandaloneEnvironment env(logger);
+ logger.reset();
+
+ Rooted<Node> node = env.parse("explicit_fields.osml", "", "",
+ RttiSet{&RttiTypes::Node});
+ ASSERT_FALSE(logger.hasError());
+
+ ASSERT_TRUE(node != nullptr);
+ ASSERT_TRUE(node->isa(&RttiTypes::Document));
+}
+
}