summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-18 11:43:12 +0100
committerBenjamin Paassen <bpaassen@techfak.uni-bielefeld.de>2015-02-18 11:43:12 +0100
commit64705a0c297121c6011e91c3b40d66fbcc2c160f (patch)
tree701e4b2906a7a797b9a93c2c1848a2ec8ba8f3a3 /test
parent1765901ff35db93ba79ce67473ffb1abcf7165d6 (diff)
parent2de08643afdb4771ef8d1f6dd836ded20db244cf (diff)
Merge branch 'master' of somweyr.de:ousia
Diffstat (limited to 'test')
-rw-r--r--test/core/parser/ParserScopeTest.cpp6
-rw-r--r--test/formats/osml/OsmlParserTest.cpp41
2 files changed, 45 insertions, 2 deletions
diff --git a/test/core/parser/ParserScopeTest.cpp b/test/core/parser/ParserScopeTest.cpp
index 7f89f2c..2ead924 100644
--- a/test/core/parser/ParserScopeTest.cpp
+++ b/test/core/parser/ParserScopeTest.cpp
@@ -18,6 +18,7 @@
#include <gtest/gtest.h>
+#include <core/common/Logger.hpp>
#include <core/managed/Manager.hpp>
#include <core/model/Node.hpp>
#include <core/parser/ParserScope.hpp>
@@ -26,6 +27,7 @@ namespace ousia {
TEST(ParserScope, flags)
{
+ Logger logger;
Manager mgr;
ParserScope scope;
@@ -42,9 +44,9 @@ TEST(ParserScope, flags)
ASSERT_TRUE(scope.getFlag(ParserFlag::POST_HEAD));
scope.setFlag(ParserFlag::POST_HEAD, false);
ASSERT_FALSE(scope.getFlag(ParserFlag::POST_HEAD));
- scope.pop();
+ scope.pop(logger);
ASSERT_TRUE(scope.getFlag(ParserFlag::POST_HEAD));
- scope.pop();
+ scope.pop(logger);
ASSERT_FALSE(scope.getFlag(ParserFlag::POST_HEAD));
scope.setFlag(ParserFlag::POST_HEAD, true);
ASSERT_TRUE(scope.getFlag(ParserFlag::POST_HEAD));
diff --git a/test/formats/osml/OsmlParserTest.cpp b/test/formats/osml/OsmlParserTest.cpp
index 3472e5f..5127b32 100644
--- a/test/formats/osml/OsmlParserTest.cpp
+++ b/test/formats/osml/OsmlParserTest.cpp
@@ -158,5 +158,46 @@ TEST(OsmlParser, structureInheritance)
ASSERT_TRUE(node != nullptr);
ASSERT_TRUE(node->isa(&RttiTypes::Domain));
}
+
+TEST(OsmlParser, structWithNoField)
+{
+ OsmlStandaloneEnvironment env(logger);
+ logger.reset();
+
+ Rooted<Node> node = env.parse("struct_with_no_field.osml", "", "",
+ RttiSet{&RttiTypes::Node});
+ ASSERT_FALSE(logger.hasError());
+
+ ASSERT_TRUE(node != nullptr);
+ 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));
+}
+
}