Commit 0d41a7de authored by Jesse Beder's avatar Jesse Beder
Browse files

Added more explicit doc indicator tests

parent 1b240d35
...@@ -418,5 +418,74 @@ namespace Test ...@@ -418,5 +418,74 @@ namespace Test
return true; return true;
} }
bool ExplicitEndDoc()
{
std::string input = "- one\n- two\n...\n...";
std::stringstream stream(input);
YAML::Parser parser(stream);
YAML::Node doc;
parser.GetNextDocument(doc);
if(doc.size() != 2)
return false;
std::string output;
doc[0] >> output;
if(output != "one")
return false;
doc[1] >> output;
if(output != "two")
return false;
return true;
}
bool MultipleDocsWithSomeExplicitIndicators()
{
std::string input =
"- one\n- two\n...\n"
"---\nkey: value\n...\n...\n"
"- three\n- four\n"
"---\nkey: value";
std::stringstream stream(input);
YAML::Parser parser(stream);
YAML::Node doc;
std::string output;
parser.GetNextDocument(doc);
if(doc.size() != 2)
return false;
doc[0] >> output;
if(output != "one")
return false;
doc[1] >> output;
if(output != "two")
return false;
parser.GetNextDocument(doc);
doc["key"] >> output;
if(output != "value")
return false;
parser.GetNextDocument(doc);
if(doc.size() != 2)
return false;
doc[0] >> output;
if(output != "three")
return false;
doc[1] >> output;
if(output != "four")
return false;
parser.GetNextDocument(doc);
doc["key"] >> output;
if(output != "value")
return false;
return true;
}
} }
} }
...@@ -271,6 +271,8 @@ namespace Test ...@@ -271,6 +271,8 @@ namespace Test
RunParserTest(&Parser::AliasWithNull, "alias with null", passed); RunParserTest(&Parser::AliasWithNull, "alias with null", passed);
RunParserTest(&Parser::ExplicitDoc, "explicit doc", passed); RunParserTest(&Parser::ExplicitDoc, "explicit doc", passed);
RunParserTest(&Parser::MultipleDocs, "multiple docs", passed); RunParserTest(&Parser::MultipleDocs, "multiple docs", passed);
RunParserTest(&Parser::ExplicitEndDoc, "explicit end doc", passed);
RunParserTest(&Parser::MultipleDocsWithSomeExplicitIndicators, "multiple docs with some explicit indicators", passed);
RunEncodingTest(&EncodeToUtf8, false, "UTF-8, no BOM", passed); RunEncodingTest(&EncodeToUtf8, false, "UTF-8, no BOM", passed);
RunEncodingTest(&EncodeToUtf8, true, "UTF-8 with BOM", passed); RunEncodingTest(&EncodeToUtf8, true, "UTF-8 with BOM", passed);
......
...@@ -42,6 +42,8 @@ namespace Test { ...@@ -42,6 +42,8 @@ namespace Test {
bool AliasWithNull(); bool AliasWithNull();
bool ExplicitDoc(); bool ExplicitDoc();
bool MultipleDocs(); bool MultipleDocs();
bool ExplicitEndDoc();
bool MultipleDocsWithSomeExplicitIndicators();
} }
namespace Emitter { namespace Emitter {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment