don't create null anchors (#245)
don't create null anchors merged-on-behalf-of: Basile-z <Basile-z@users.noreply.github.com>
This commit is contained in:
parent
a538662c7e
commit
2e556e4a3a
|
@ -113,6 +113,7 @@ struct Event
|
|||
*/
|
||||
Event event(EventID id)(const Mark start, const Mark end, const string anchor = null)
|
||||
@safe
|
||||
in(!(id == EventID.alias_ && anchor == ""), "Missing anchor for alias event")
|
||||
{
|
||||
Event result;
|
||||
result.startMark = start;
|
||||
|
|
|
@ -156,7 +156,7 @@ struct Serializer
|
|||
return;
|
||||
}
|
||||
|
||||
anchors_[node] = null;
|
||||
anchors_.remove(node);
|
||||
final switch (node.nodeID)
|
||||
{
|
||||
case NodeID.mapping:
|
||||
|
@ -243,3 +243,80 @@ struct Serializer
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Issue #244
|
||||
@safe unittest
|
||||
{
|
||||
import dyaml.dumper : dumper;
|
||||
auto node = Node([
|
||||
Node.Pair(
|
||||
Node(""),
|
||||
Node([
|
||||
Node([
|
||||
Node.Pair(
|
||||
Node("d"),
|
||||
Node([
|
||||
Node([
|
||||
Node.Pair(
|
||||
Node("c"),
|
||||
Node("")
|
||||
),
|
||||
Node.Pair(
|
||||
Node("b"),
|
||||
Node("")
|
||||
),
|
||||
Node.Pair(
|
||||
Node(""),
|
||||
Node("")
|
||||
)
|
||||
])
|
||||
])
|
||||
),
|
||||
]),
|
||||
Node([
|
||||
Node.Pair(
|
||||
Node("d"),
|
||||
Node([
|
||||
Node(""),
|
||||
Node(""),
|
||||
Node([
|
||||
Node.Pair(
|
||||
Node("c"),
|
||||
Node("")
|
||||
),
|
||||
Node.Pair(
|
||||
Node("b"),
|
||||
Node("")
|
||||
),
|
||||
Node.Pair(
|
||||
Node(""),
|
||||
Node("")
|
||||
)
|
||||
])
|
||||
])
|
||||
),
|
||||
Node.Pair(
|
||||
Node("z"),
|
||||
Node("")
|
||||
),
|
||||
Node.Pair(
|
||||
Node(""),
|
||||
Node("")
|
||||
)
|
||||
]),
|
||||
Node("")
|
||||
])
|
||||
),
|
||||
Node.Pair(
|
||||
Node("g"),
|
||||
Node("")
|
||||
),
|
||||
Node.Pair(
|
||||
Node("h"),
|
||||
Node("")
|
||||
),
|
||||
]);
|
||||
|
||||
auto stream = appender!string();
|
||||
dumper().dump(stream, node);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue