diff -up viper-1.7.1/viper_test.go.orig viper-1.7.1/viper_test.go
--- viper-1.7.1/viper_test.go.orig 2020-07-31 23:39:06.000000000 +0200
+++ viper-1.7.1/viper_test.go 2020-08-10 20:17:26.459993195 +0200
@@ -859,96 +859,6 @@ func TestBindPFlags(t *testing.T) {
}
}
-func TestBindPFlagsStringSlice(t *testing.T) {
- tests := []struct {
- Expected []string
- Value string
- }{
- {nil, ""},
- {[]string{"jeden"}, "jeden"},
- {[]string{"dwa", "trzy"}, "dwa,trzy"},
- {[]string{"cztery", "piec , szesc"}, "cztery,\"piec , szesc\""},
- }
-
- v := New() // create independent Viper object
- defaultVal := []string{"default"}
- v.SetDefault("stringslice", defaultVal)
-
- for _, testValue := range tests {
- flagSet := pflag.NewFlagSet("test", pflag.ContinueOnError)
- flagSet.StringSlice("stringslice", testValue.Expected, "test")
-
- for _, changed := range []bool{true, false} {
- flagSet.VisitAll(func(f *pflag.Flag) {
- f.Value.Set(testValue.Value)
- f.Changed = changed
- })
-
- err := v.BindPFlags(flagSet)
- if err != nil {
- t.Fatalf("error binding flag set, %v", err)
- }
-
- type TestStr struct {
- StringSlice []string
- }
- val := &TestStr{}
- if err := v.Unmarshal(val); err != nil {
- t.Fatalf("%+#v cannot unmarshal: %s", testValue.Value, err)
- }
- if changed {
- assert.Equal(t, testValue.Expected, val.StringSlice)
- } else {
- assert.Equal(t, defaultVal, val.StringSlice)
- }
- }
- }
-}
-
-func TestBindPFlagsIntSlice(t *testing.T) {
- tests := []struct {
- Expected []int
- Value string
- }{
- {nil, ""},
- {[]int{1}, "1"},
- {[]int{2, 3}, "2,3"},
- }
-
- v := New() // create independent Viper object
- defaultVal := []int{0}
- v.SetDefault("intslice", defaultVal)
-
- for _, testValue := range tests {
- flagSet := pflag.NewFlagSet("test", pflag.ContinueOnError)
- flagSet.IntSlice("intslice", testValue.Expected, "test")
-
- for _, changed := range []bool{true, false} {
- flagSet.VisitAll(func(f *pflag.Flag) {
- f.Value.Set(testValue.Value)
- f.Changed = changed
- })
-
- err := v.BindPFlags(flagSet)
- if err != nil {
- t.Fatalf("error binding flag set, %v", err)
- }
-
- type TestInt struct {
- IntSlice []int
- }
- val := &TestInt{}
- if err := v.Unmarshal(val); err != nil {
- t.Fatalf("%+#v cannot unmarshal: %s", testValue.Value, err)
- }
- if changed {
- assert.Equal(t, testValue.Expected, val.IntSlice)
- } else {
- assert.Equal(t, defaultVal, val.IntSlice)
- }
- }
- }
-}
func TestBindPFlag(t *testing.T) {
var testString = "testing"