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)
       +                        }
                        }
                }
        }