From 398adc5a7da8f7fb1dda192beb2a9db63f797445 Mon Sep 17 00:00:00 2001 From: Mark Sagi-Kazar Date: Fri, 27 Sep 2019 17:09:18 +0200 Subject: [PATCH] Add breaking test that requires reverting #673 --- viper_test.go | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/viper_test.go b/viper_test.go index 3c15ed2..5416bd6 100644 --- a/viper_test.go +++ b/viper_test.go @@ -254,7 +254,7 @@ func initDirs(t *testing.T) (string, string, func()) { } } -//stubs for PFlag Values +// stubs for PFlag Values type stringValue string func newStringValue(val string, p *string) *stringValue { @@ -864,7 +864,7 @@ func TestBindPFlag(t *testing.T) { assert.Equal(t, testString, Get("testvalue")) flag.Value.Set("testing_mutate") - flag.Changed = true //hack for pflag usage + flag.Changed = true // hack for pflag usage assert.Equal(t, "testing_mutate", Get("testvalue")) @@ -1856,6 +1856,23 @@ func TestWatchFile(t *testing.T) { } +func TestUnmarshal_DotSeparatorBackwardCompatibility(t *testing.T) { + flags := pflag.NewFlagSet("test", pflag.ContinueOnError) + flags.String("foo.bar", "cobra_flag", "") + + v := New() + assert.NoError(t, v.BindPFlags(flags)) + + config := &struct { + Foo struct { + Bar string + } + }{} + + assert.NoError(t, v.Unmarshal(config)) + assert.Equal(t, "cobra_flag", config.Foo.Bar) +} + func BenchmarkGetBool(b *testing.B) { key := "BenchmarkGetBool" v = New()