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:
parent
90084d115e
commit
221433522d
@ -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.
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user