Updated TestBindPFlagsStringSlice() to highlight a failure - viper - [fork] go viper port for 9front
(HTM) git clone git@git.drkhsh.at/viper.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit cc7e906d8847d935cffacac702f8e9d98156d604
(DIR) parent b7a3b954760cf2c8e97dbcf7f842e721b8d24110
(HTM) Author: Benoit Masson <benoit.masson@gmail.com>
Date: Mon, 17 Apr 2017 18:33:30 +0200
Updated TestBindPFlagsStringSlice() to highlight a failure
When pflag marked as changed, the value is not detected
(and lower priority value used)
Diffstat:
M viper_test.go | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/viper_test.go b/viper_test.go
@@ -613,6 +613,8 @@ func TestBindPFlags(t *testing.T) {
}
func TestBindPFlagsStringSlice(t *testing.T) {
+ defaultVal := []string{"default"}
+
for _, testValue := range []struct {
Expected []string
Value string
@@ -624,6 +626,8 @@ func TestBindPFlagsStringSlice(t *testing.T) {
for _, changed := range []bool{true, false} {
v := New() // create independent Viper object
+ v.SetDefault("stringslice", defaultVal)
+
flagSet := pflag.NewFlagSet("test", pflag.ContinueOnError)
flagSet.StringSlice("stringslice", testValue.Expected, "test")
flagSet.Visit(func(f *pflag.Flag) {
@@ -645,7 +649,11 @@ func TestBindPFlagsStringSlice(t *testing.T) {
if err := v.Unmarshal(val); err != nil {
t.Fatalf("%+#v cannot unmarshal: %s", testValue.Value, err)
}
- assert.Equal(t, testValue.Expected, val.StringSlice)
+ if changed {
+ assert.Equal(t, testValue.Expected, val.StringSlice)
+ } else {
+ assert.Equal(t, defaultVal, val.StringSlice)
+ }
}
}
}