From a66f38f0f48208bb57e83ee759de33895f6492f9 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Tue, 4 Sep 2018 08:11:18 +0100 Subject: [PATCH] Test anchor and merge key interaction --- test/integration/load_node_test.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/integration/load_node_test.cpp b/test/integration/load_node_test.cpp index 4b19b5f..b05d917 100644 --- a/test/integration/load_node_test.cpp +++ b/test/integration/load_node_test.cpp @@ -211,6 +211,24 @@ TEST(NodeTest, NestedMergeKeys) { ASSERT_FALSE(!node["a"]); EXPECT_EQ(1, node["a"].as()); } + +TEST(NodeTest, AnchorAndMergeKey) { + Node node = YAML::Load(R"( + a_root: &root_anchor + key1: value1 + key2: value2 + b_child: + <<: *root_anchor + key2: value2_override + )"); + + ASSERT_FALSE(!node["a_root"]); + ASSERT_FALSE(!node["b_child"]); + EXPECT_EQ("value1", node["a_root"]["key1"].as()); + EXPECT_EQ("value2", node["a_root"]["key2"].as()); + EXPECT_EQ("value1", node["b_child"]["key1"].as()); + EXPECT_EQ("value2_override", node["b_child"]["key2"].as()); +} #else TEST(NodeTest, MergeKeySupport) { Node node = Load("{<<: {a: 1}}");