Fixed merge comments

This commit is contained in:
Mike Farah 2021-03-19 12:54:03 +11:00
parent 3722367fbb
commit 21a9e506cb
3 changed files with 40 additions and 3 deletions

View File

@ -86,7 +86,14 @@ func (n *CandidateNode) UpdateAttributesFrom(other *CandidateNode) {
if n.Node.Style == 0 { if n.Node.Style == 0 {
n.Node.Style = other.Node.Style n.Node.Style = other.Node.Style
} }
n.Node.FootComment = n.Node.FootComment + other.Node.FootComment
n.Node.HeadComment = n.Node.HeadComment + other.Node.HeadComment if other.Node.FootComment != "" {
n.Node.LineComment = n.Node.LineComment + other.Node.LineComment n.Node.FootComment = other.Node.FootComment
}
if other.Node.HeadComment != "" {
n.Node.HeadComment = other.Node.HeadComment
}
if other.Node.LineComment != "" {
n.Node.LineComment = other.Node.LineComment
}
} }

View File

@ -31,6 +31,7 @@ func multiply(preferences multiplyPreferences) func(d *dataTreeNavigator, contex
(lhs.Node.Kind == yaml.SequenceNode && rhs.Node.Kind == yaml.SequenceNode) { (lhs.Node.Kind == yaml.SequenceNode && rhs.Node.Kind == yaml.SequenceNode) {
var newBlank = lhs.CreateChild(nil, &yaml.Node{}) var newBlank = lhs.CreateChild(nil, &yaml.Node{})
var newThing, err = mergeObjects(d, context, newBlank, lhs, multiplyPreferences{}) var newThing, err = mergeObjects(d, context, newBlank, lhs, multiplyPreferences{})
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -4,6 +4,26 @@ import (
"testing" "testing"
) )
var doc1 = `list:
# Hi this is a comment.
# Hello this is another comment.
- "abc"`
var doc2 = `list2:
# This is yet another comment.
# Indeed this is yet another comment.
- "123"`
var docExpected = `D0, P[], (!!map)::list:
# Hi this is a comment.
# Hello this is another comment.
- "abc"
list2:
# This is yet another comment.
# Indeed this is yet another comment.
- "123"
`
var multiplyOperatorScenarios = []expressionScenario{ var multiplyOperatorScenarios = []expressionScenario{
{ {
description: "Multiply integers", description: "Multiply integers",
@ -12,6 +32,15 @@ var multiplyOperatorScenarios = []expressionScenario{
"D0, P[], (!!int)::12\n", "D0, P[], (!!int)::12\n",
}, },
}, },
{
skipDoc: true,
document: doc1,
document2: doc2,
expression: `select(fi == 0) * select(fi == 1)`,
expected: []string{
docExpected,
},
},
{ {
skipDoc: true, skipDoc: true,
expression: `3 * 4.5`, expression: `3 * 4.5`,