adding in boolean alias support
This commit is contained in:
parent
909232502b
commit
e0db267492
@ -121,13 +121,19 @@ func (f *IntSliceFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceC
|
|||||||
|
|
||||||
// ApplyInputSourceValue applies a Bool value to the flagSet if required
|
// ApplyInputSourceValue applies a Bool value to the flagSet if required
|
||||||
func (f *BoolFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error {
|
func (f *BoolFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error {
|
||||||
if f.set != nil && !cCtx.IsSet(f.Name) && !isEnvVarSet(f.EnvVars) && isc.isSet(f.BoolFlag.Name) {
|
if f.set != nil && !cCtx.IsSet(f.Name) && !isEnvVarSet(f.EnvVars) {
|
||||||
value, err := isc.Bool(f.BoolFlag.Name)
|
for _, name := range f.BoolFlag.Names() {
|
||||||
|
if isc.isSet(name) {
|
||||||
|
value, err := isc.Bool(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, name := range f.Names() {
|
if value {
|
||||||
_ = f.set.Set(name, strconv.FormatBool(value))
|
for _, n := range f.Names() {
|
||||||
|
_ = f.set.Set(n, strconv.FormatBool(value))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -178,6 +178,19 @@ func TestBoolApplyInputSourceMethodSet(t *testing.T) {
|
|||||||
refute(t, true, c.Bool("test"))
|
refute(t, true, c.Bool("test"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBoolApplyInputSourceMethodSet_Alias(t *testing.T) {
|
||||||
|
tis := testApplyInputSource{
|
||||||
|
Flag: NewBoolFlag(&cli.BoolFlag{Name: "test", Aliases: []string{"test_alias"}}),
|
||||||
|
FlagName: "test_alias",
|
||||||
|
MapValue: true,
|
||||||
|
}
|
||||||
|
c := runTest(t, tis)
|
||||||
|
expect(t, true, c.Bool("test_alias"))
|
||||||
|
|
||||||
|
c = runRacyTest(t, tis)
|
||||||
|
refute(t, true, c.Bool("test_alias"))
|
||||||
|
}
|
||||||
|
|
||||||
func TestBoolApplyInputSourceMethodContextSet(t *testing.T) {
|
func TestBoolApplyInputSourceMethodContextSet(t *testing.T) {
|
||||||
tis := testApplyInputSource{
|
tis := testApplyInputSource{
|
||||||
Flag: NewBoolFlag(&cli.BoolFlag{Name: "test"}),
|
Flag: NewBoolFlag(&cli.BoolFlag{Name: "test"}),
|
||||||
|
Loading…
Reference in New Issue
Block a user