1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-17 21:18:31 +02:00

Return an error if document is not a dictionary

This commit is contained in:
Stefan Haller 2023-06-08 08:45:07 +02:00
parent 90084d115e
commit 221433522d
2 changed files with 15 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package yaml_utils
import (
"errors"
"fmt"
"gopkg.in/yaml.v3"
@ -24,6 +25,10 @@ func UpdateYamlValue(yamlBytes []byte, path []string, value string) ([]byte, err
body := node.Content[0]
if body.Kind != yaml.MappingNode {
return yamlBytes, errors.New("yaml document is not a dictionary")
}
updateYamlNode(body, path, value)
// Convert the updated YAML node back to YAML bytes.

View File

@ -56,6 +56,16 @@ func TestUpdateYamlValue(t *testing.T) {
expectedOut: "foo:\n bar: qux\n",
expectedErr: "",
},
// Error cases
{
name: "existing document is not a dictionary",
in: "42\n",
path: []string{"foo"},
value: "bar",
expectedOut: "42\n",
expectedErr: "yaml document is not a dictionary",
},
}
for _, test := range tests {