Merge pull request #1456 from dearchap/issue_1455

Fix:(issue_1455) Allow bool flags from input altsrc
main
dearchap 2 years ago committed by GitHub
commit 77a5feffee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -126,12 +126,10 @@ func (f *BoolFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceConte
if err != nil { if err != nil {
return err return err
} }
if value {
for _, name := range f.Names() { for _, name := range f.Names() {
_ = f.set.Set(name, strconv.FormatBool(value)) _ = f.set.Set(name, strconv.FormatBool(value))
} }
} }
}
return nil return nil
} }

@ -11,7 +11,7 @@ import (
const ( const (
fileName = "current.json" fileName = "current.json"
simpleJSON = `{"test": 15}` simpleJSON = `{"test": 15, "testb": false}`
nestedJSON = `{"top": {"test": 15}}` nestedJSON = `{"top": {"test": 15}}`
) )
@ -34,11 +34,16 @@ func TestCommandJSONFileTest(t *testing.T) {
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
val := c.Int("test") val := c.Int("test")
expect(t, val, 15) expect(t, val, 15)
valb := c.Bool("testb")
expect(t, valb, false)
return nil return nil
}, },
Flags: []cli.Flag{ Flags: []cli.Flag{
NewIntFlag(&cli.IntFlag{Name: "test"}), NewIntFlag(&cli.IntFlag{Name: "test"}),
&cli.StringFlag{Name: "load"}}, &cli.StringFlag{Name: "load"},
NewBoolFlag(&cli.BoolFlag{Name: "testb", Value: true}),
},
} }
command.Before = InitInputSourceWithContext(command.Flags, NewJSONSourceFromFlagFunc("load")) command.Before = InitInputSourceWithContext(command.Flags, NewJSONSourceFromFlagFunc("load"))
err := command.Run(c) err := command.Run(c)

@ -9,4 +9,7 @@ require (
gopkg.in/yaml.v3 v3.0.1 gopkg.in/yaml.v3 v3.0.1
) )
require github.com/russross/blackfriday/v2 v2.1.0 // indirect require (
github.com/russross/blackfriday/v2 v2.1.0 // indirect
golang.org/x/text v0.3.7 // indirect
)

@ -6,6 +6,8 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

Loading…
Cancel
Save