anchor and alias test add for embedding map in a seq with newline. #902
This commit is contained in:
parent
8c55a70548
commit
73390d5b5f
@ -175,7 +175,7 @@ void EmitterState::EndedGroup(GroupType::value type) {
|
|||||||
// some global settings that we changed may have been overridden
|
// some global settings that we changed may have been overridden
|
||||||
// by a local setting we just popped, so we need to restore them
|
// by a local setting we just popped, so we need to restore them
|
||||||
m_globalModifiedSettings.restore();
|
m_globalModifiedSettings.restore();
|
||||||
|
|
||||||
ClearModifiedSettings();
|
ClearModifiedSettings();
|
||||||
m_hasAnchor = false;
|
m_hasAnchor = false;
|
||||||
m_hasTag = false;
|
m_hasTag = false;
|
||||||
|
|||||||
@ -1235,17 +1235,58 @@ TEST_F(EmitterTest, ComplexFlowSeqEmbeddingAMapWithNewLine) {
|
|||||||
|
|
||||||
out << YAML::EndMap;
|
out << YAML::EndMap;
|
||||||
|
|
||||||
ExpectEmit(
|
ExpectEmit(R"(NodeA:
|
||||||
"NodeA:\n"
|
k: [{i: 0},
|
||||||
" k: [{i: 0},\n"
|
{i: 1},
|
||||||
" {i: 1},\n"
|
]
|
||||||
" ]\n"
|
NodeB:
|
||||||
"NodeB:\n"
|
k: [{i: 0},
|
||||||
" k: [{i: 0},\n"
|
{i: 1},
|
||||||
" {i: 1},\n"
|
])");
|
||||||
" ]"
|
}
|
||||||
);
|
|
||||||
|
|
||||||
|
TEST_F(EmitterTest, ComplexFlowSeqEmbeddingAMapWithNewLineUsingAliases) {
|
||||||
|
out << BeginMap;
|
||||||
|
|
||||||
|
out << Key << "Node" << Anchor("Node") << Value << BeginMap;
|
||||||
|
out << Key << "k" << Value << Flow << BeginSeq;
|
||||||
|
out << BeginMap << Key << "i" << Value << 0 << EndMap;
|
||||||
|
out << YAML::Newline;
|
||||||
|
out << BeginMap << Key << "i" << Value << 1 << EndMap;
|
||||||
|
out << YAML::Newline;
|
||||||
|
out << EndSeq << EndMap;
|
||||||
|
|
||||||
|
out << Key << "NodeA" << Alias("Node");
|
||||||
|
out << Key << "NodeB" << Alias("Node");
|
||||||
|
|
||||||
|
out << EndMap;
|
||||||
|
|
||||||
|
ExpectEmit(R"(Node: &Node
|
||||||
|
k: [{i: 0},
|
||||||
|
{i: 1},
|
||||||
|
]
|
||||||
|
NodeA: *Node
|
||||||
|
NodeB: *Node)");
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(EmitterTest, ComplexFlowSeqEmbeddingAMapUsingAliases) {
|
||||||
|
out << BeginMap;
|
||||||
|
|
||||||
|
out << Key << "Node" << Anchor("Node") << Value << BeginMap;
|
||||||
|
out << Key << "k" << Value << Flow << BeginSeq;
|
||||||
|
out << BeginMap << Key << "i" << Value << 0 << EndMap;
|
||||||
|
out << BeginMap << Key << "i" << Value << 1 << EndMap;
|
||||||
|
out << EndSeq << EndMap;
|
||||||
|
|
||||||
|
out << Key << "NodeA" << Alias("Node");
|
||||||
|
out << Key << "NodeB" << Alias("Node");
|
||||||
|
|
||||||
|
out << EndMap;
|
||||||
|
|
||||||
|
ExpectEmit(R"(Node: &Node
|
||||||
|
k: [{i: 0}, {i: 1}]
|
||||||
|
NodeA: *Node
|
||||||
|
NodeB: *Node)");
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmitterErrorTest : public ::testing::Test {
|
class EmitterErrorTest : public ::testing::Test {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user