Fix tests broken by mapstructure update

Mapstructure so far returned nil for empty string slices.
In a recent version this bug has been fixed:
https://github.com/mitchellh/mapstructure/pull/155

Incidentally, this was a bug in Viper too:

GetStringSlice and Unmarshal returned with different values.

Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This commit is contained in:
Mark Sagi-Kazar 2020-09-30 14:20:00 +02:00 committed by Márk Sági-Kazár
parent 16dc0f72ce
commit 82c2ddf493

View file

@ -869,12 +869,13 @@ func TestBindPFlags(t *testing.T) {
}
}
// nolint: dupl
func TestBindPFlagsStringSlice(t *testing.T) {
tests := []struct {
Expected []string
Value string
}{
{nil, ""},
{[]string{}, ""},
{[]string{"jeden"}, "jeden"},
{[]string{"dwa", "trzy"}, "dwa,trzy"},
{[]string{"cztery", "piec , szesc"}, "cztery,\"piec , szesc\""},
@ -908,6 +909,7 @@ func TestBindPFlagsStringSlice(t *testing.T) {
}
if changed {
assert.Equal(t, testValue.Expected, val.StringSlice)
assert.Equal(t, testValue.Expected, v.Get("stringslice"))
} else {
assert.Equal(t, defaultVal, val.StringSlice)
}
@ -915,12 +917,13 @@ func TestBindPFlagsStringSlice(t *testing.T) {
}
}
// nolint: dupl
func TestBindPFlagsIntSlice(t *testing.T) {
tests := []struct {
Expected []int
Value string
}{
{nil, ""},
{[]int{}, ""},
{[]int{1}, "1"},
{[]int{2, 3}, "2,3"},
}
@ -953,6 +956,7 @@ func TestBindPFlagsIntSlice(t *testing.T) {
}
if changed {
assert.Equal(t, testValue.Expected, val.IntSlice)
assert.Equal(t, testValue.Expected, v.Get("intslice"))
} else {
assert.Equal(t, defaultVal, val.IntSlice)
}