Fixed bug while reading a single space char
This commit is contained in:
parent
25881c4f96
commit
5b88931143
@ -89,7 +89,7 @@ namespace YAML
|
||||
const std::string& input = node.Scalar();\
|
||||
std::stringstream stream(input);\
|
||||
stream.unsetf(std::ios::dec);\
|
||||
if((stream >> rhs) && (stream >> std::ws).eof())\
|
||||
if((stream >> std::noskipws >> rhs) && (stream >> std::ws).eof())\
|
||||
return true;\
|
||||
if(std::numeric_limits<type>::has_infinity) {\
|
||||
if(conversion::IsInfinity(input)) {\
|
||||
|
@ -522,6 +522,13 @@ namespace Test
|
||||
YAML_ASSERT(std::string(emitter.c_str()) == "");
|
||||
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) {
|
||||
@ -588,6 +595,7 @@ namespace Test
|
||||
RunNodeTest(&Node::DereferenceIteratorError, "dereference iterator error", passed, total);
|
||||
RunNodeTest(&Node::FloatingPrecision, "floating precision", 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";
|
||||
return passed == total;
|
||||
|
Loading…
Reference in New Issue
Block a user