diff options
Diffstat (limited to 'test/formats/osml')
| -rw-r--r-- | test/formats/osml/OsmlParserTest.cpp | 41 | 
1 files changed, 41 insertions, 0 deletions
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)); +} +  }  | 
