summaryrefslogtreecommitdiff
path: root/_example/anchor_merge.py
diff options
context:
space:
mode:
Diffstat (limited to '_example/anchor_merge.py')
-rw-r--r--_example/anchor_merge.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/_example/anchor_merge.py b/_example/anchor_merge.py
new file mode 100644
index 0000000..1e52204
--- /dev/null
+++ b/_example/anchor_merge.py
@@ -0,0 +1,29 @@
+from ruamel.yaml import YAML
+
+inp = """\
+- &CENTER {x: 1, y: 2}
+- &LEFT {x: 0, y: 2}
+- &BIG {r: 10}
+- &SMALL {r: 1}
+# All the following maps are equal:
+# Explicit keys
+- x: 1
+ y: 2
+ r: 10
+ label: center/big
+# Merge one map
+- <<: *CENTER
+ r: 10
+ label: center/big
+# Merge multiple maps
+- <<: [*CENTER, *BIG]
+ label: center/big
+# Override
+- <<: [*BIG, *LEFT, *SMALL]
+ x: 1
+ label: center/big
+"""
+
+yaml = YAML()
+data = yaml.load(inp)
+assert data[7]['y'] == 2