added test case for no values

This commit is contained in:
Natasha Sarkar
2020-11-06 13:10:18 -08:00
parent 73d91dda6e
commit 886f73aa0f
2 changed files with 22 additions and 1 deletions

View File

@@ -137,6 +137,27 @@ func TestElementSetter(t *testing.T) {
_, err = node.Pipe(ElementSetter{Values: []string{"b"}})
assert.EqualError(t, err, "wrong Node Kind for expected: ScalarNode was MappingNode: value: {a: b}")
node = MustParse(`
- a: b
- c: d
`)
// If given a key and no values, ElementSetter will
// change node to be an empty list
rn, err = node.Pipe(ElementSetter{Keys: []string{"a"}})
assert.NoError(t, err)
assert.Nil(t, rn)
assert.Equal(t, `[]
`, assertNoErrorString(t)(node.String()))
node = MustParse(`
- a: b
- c: d
`)
// Return error because ElementSetter will assume all elements are scalar when
// there is only value provided.
_, err = node.Pipe(ElementSetter{Values: []string{"b"}})
assert.EqualError(t, err, "wrong Node Kind for expected: ScalarNode was MappingNode: value: {a: b}")
node = MustParse(`
- a
- b