mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 04:41:16 +00:00
Merged end of map/seq flow fix from core
This commit is contained in:
51
test/core/parsertests.cpp
Normal file
51
test/core/parsertests.cpp
Normal file
@@ -0,0 +1,51 @@
|
||||
#include "parsertests.h"
|
||||
#include "handlermacros.h"
|
||||
#include "yaml-cpp/yaml.h"
|
||||
#include <iostream>
|
||||
|
||||
namespace Test
|
||||
{
|
||||
namespace Parser {
|
||||
TEST NoEndOfMapFlow()
|
||||
{
|
||||
try {
|
||||
HANDLE("---{header: {id: 1");
|
||||
} catch(const YAML::ParserException& e) {
|
||||
YAML_ASSERT(e.msg == std::string(YAML::ErrorMsg::END_OF_MAP_FLOW));
|
||||
return true;
|
||||
}
|
||||
return " no exception caught";
|
||||
}
|
||||
}
|
||||
|
||||
namespace {
|
||||
void RunParserTest(TEST (*test)(), const std::string& name, int& passed, int& total) {
|
||||
TEST ret;
|
||||
try {
|
||||
ret = test();
|
||||
} catch(const YAML::Exception& e) {
|
||||
ret.ok = false;
|
||||
ret.error = std::string(" Exception caught: ") + e.what();
|
||||
}
|
||||
|
||||
if(!ret.ok) {
|
||||
std::cout << "Spec test " << index << " failed: " << name << "\n";
|
||||
std::cout << ret.error << "\n";
|
||||
}
|
||||
|
||||
if(ret.ok)
|
||||
passed++;
|
||||
total++;
|
||||
}
|
||||
}
|
||||
|
||||
bool RunParserTests()
|
||||
{
|
||||
int passed = 0;
|
||||
int total = 0;
|
||||
RunParserTest(&Parser::NoEndOfMapFlow, "No end of map flow", passed, total);
|
||||
|
||||
std::cout << "Parser tests: " << passed << "/" << total << " passed\n";
|
||||
return passed == total;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user