mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
Can now retrieve the alias names of merge anchors #1942
This commit is contained in:
parent
b55f52f377
commit
8cde0c837c
@ -12,6 +12,7 @@ func TestDeepMatch(t *testing.T) {
|
||||
ok bool
|
||||
}{
|
||||
{"", "", true},
|
||||
{"<<", "<<", true},
|
||||
{"", "x", false},
|
||||
{"x", "", false},
|
||||
{"abc", "abc", true},
|
||||
|
@ -269,7 +269,7 @@ func doTraverseMap(newMatches *orderedmap.OrderedMap, node *CandidateNode, wante
|
||||
value := contents[index+1]
|
||||
|
||||
//skip the 'merge' tag, find a direct match first
|
||||
if key.Tag == "!!merge" && !prefs.DontFollowAlias {
|
||||
if key.Tag == "!!merge" && !prefs.DontFollowAlias && wantedKey != "<<" {
|
||||
log.Debug("Merge anchor")
|
||||
err := traverseMergeAnchor(newMatches, value, wantedKey, prefs, splat)
|
||||
if err != nil {
|
||||
|
@ -35,6 +35,15 @@ steps:
|
||||
`
|
||||
|
||||
var traversePathOperatorScenarios = []expressionScenario{
|
||||
{
|
||||
skipDoc: true,
|
||||
description: "access merge anchors",
|
||||
document: "foo: &foo {x: y}\nbar:\n <<: *foo\n",
|
||||
expression: `.bar["<<"] | alias`,
|
||||
expected: []string{
|
||||
"D0, P[bar <<], (!!str)::foo\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
skipDoc: true,
|
||||
description: "dynamically set parent and key",
|
||||
|
Loading…
Reference in New Issue
Block a user