parent
4571e8177a
commit
33315286ab
@ -110,6 +110,8 @@ struct as_if<std::string, S> {
|
||||
const Node& node;
|
||||
|
||||
std::string operator()(const S& fallback) const {
|
||||
if (node.Type() == NodeType::Null)
|
||||
return "null";
|
||||
if (node.Type() != NodeType::Scalar)
|
||||
return fallback;
|
||||
return node.Scalar();
|
||||
@ -138,6 +140,8 @@ struct as_if<std::string, void> {
|
||||
const Node& node;
|
||||
|
||||
std::string operator()() const {
|
||||
if (node.Type() == NodeType::Null)
|
||||
return "null";
|
||||
if (node.Type() != NodeType::Scalar)
|
||||
throw TypedBadConversion<std::string>(node.Mark());
|
||||
return node.Scalar();
|
||||
|
@ -314,6 +314,8 @@ TEST(NodeTest, IncorrectFlow) {
|
||||
TEST(NodeTest, LoadTildeAsNull) {
|
||||
Node node = Load("~");
|
||||
ASSERT_TRUE(node.IsNull());
|
||||
EXPECT_EQ(node.as<std::string>(), "null");
|
||||
EXPECT_EQ(node.as<std::string>("~"), "null");
|
||||
}
|
||||
|
||||
TEST(NodeTest, LoadNullWithStrTag) {
|
||||
|
Loading…
Reference in New Issue
Block a user