From d904b600a90f9bc5b0472ab722952ab3d3e3d33e Mon Sep 17 00:00:00 2001 From: Jesse Beder Date: Thu, 4 Aug 2011 21:50:04 +0000 Subject: [PATCH] Added test for anchor/alias in flow --- test/emittertests.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/emittertests.cpp b/test/emittertests.cpp index 246cd2d..329ed3b 100644 --- a/test/emittertests.cpp +++ b/test/emittertests.cpp @@ -282,6 +282,20 @@ namespace Test desiredOutput = "- &fred ~\n- *fred"; } + void AliasAndAnchorInFlow(YAML::Emitter& out, std::string& desiredOutput) + { + out << YAML::Flow << YAML::BeginSeq; + out << YAML::Anchor("fred"); + out << YAML::BeginMap; + out << YAML::Key << "name" << YAML::Value << "Fred"; + out << YAML::Key << "age" << YAML::Value << 42; + out << YAML::EndMap; + out << YAML::Alias("fred"); + out << YAML::EndSeq; + + desiredOutput = "[&fred {name: Fred, age: 42}, *fred]"; + } + void SimpleVerbatimTag(YAML::Emitter& out, std::string& desiredOutput) { out << YAML::VerbatimTag("!foo") << "bar"; @@ -997,6 +1011,7 @@ namespace Test RunEmitterTest(&Emitter::BlockMapAsKey, "block map as key", passed, total); RunEmitterTest(&Emitter::AliasAndAnchor, "alias and anchor", passed, total); RunEmitterTest(&Emitter::AliasAndAnchorWithNull, "alias and anchor with null", passed, total); + RunEmitterTest(&Emitter::AliasAndAnchorInFlow, "alias and anchor in flow", passed, total); RunEmitterTest(&Emitter::SimpleVerbatimTag, "simple verbatim tag", passed, total); RunEmitterTest(&Emitter::VerbatimTagInBlockSeq, "verbatim tag in block seq", passed, total); RunEmitterTest(&Emitter::VerbatimTagInFlowSeq, "verbatim tag in flow seq", passed, total);