mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 20:51:16 +00:00
Fixed bug while reading a single space char
This commit is contained in:
@@ -89,7 +89,7 @@ namespace YAML
|
|||||||
const std::string& input = node.Scalar();\
|
const std::string& input = node.Scalar();\
|
||||||
std::stringstream stream(input);\
|
std::stringstream stream(input);\
|
||||||
stream.unsetf(std::ios::dec);\
|
stream.unsetf(std::ios::dec);\
|
||||||
if((stream >> rhs) && (stream >> std::ws).eof())\
|
if((stream >> std::noskipws >> rhs) && (stream >> std::ws).eof())\
|
||||||
return true;\
|
return true;\
|
||||||
if(std::numeric_limits<type>::has_infinity) {\
|
if(std::numeric_limits<type>::has_infinity) {\
|
||||||
if(conversion::IsInfinity(input)) {\
|
if(conversion::IsInfinity(input)) {\
|
||||||
|
@@ -522,6 +522,13 @@ namespace Test
|
|||||||
YAML_ASSERT(std::string(emitter.c_str()) == "");
|
YAML_ASSERT(std::string(emitter.c_str()) == "");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST SpaceChar()
|
||||||
|
{
|
||||||
|
YAML::Node node = YAML::Node(' ');
|
||||||
|
YAML_ASSERT(node.as<char>() == ' ');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunNodeTest(TEST (*test)(), const std::string& name, int& passed, int& total) {
|
void RunNodeTest(TEST (*test)(), const std::string& name, int& passed, int& total) {
|
||||||
@@ -588,6 +595,7 @@ namespace Test
|
|||||||
RunNodeTest(&Node::DereferenceIteratorError, "dereference iterator error", passed, total);
|
RunNodeTest(&Node::DereferenceIteratorError, "dereference iterator error", passed, total);
|
||||||
RunNodeTest(&Node::FloatingPrecision, "floating precision", passed, total);
|
RunNodeTest(&Node::FloatingPrecision, "floating precision", passed, total);
|
||||||
RunNodeTest(&Node::EmitEmptyNode, "emit empty node", passed, total);
|
RunNodeTest(&Node::EmitEmptyNode, "emit empty node", passed, total);
|
||||||
|
RunNodeTest(&Node::SpaceChar, "space char", passed, total);
|
||||||
|
|
||||||
std::cout << "Node tests: " << passed << "/" << total << " passed\n";
|
std::cout << "Node tests: " << passed << "/" << total << " passed\n";
|
||||||
return passed == total;
|
return passed == total;
|
||||||
|
Reference in New Issue
Block a user