+1
-1
@@ -996,7 +996,7 @@ func checkEnum(value *Value, target reflect.Value) error {
|
|||||||
}
|
}
|
||||||
enums = append(enums, fmt.Sprintf("%q", enum))
|
enums = append(enums, fmt.Sprintf("%q", enum))
|
||||||
}
|
}
|
||||||
return fmt.Errorf("%s must be one of %s but got %q", value.ShortSummary(), strings.Join(enums, ","), target.Interface())
|
return fmt.Errorf("%s must be one of %s but got %q", value.ShortSummary(), strings.Join(enums, ","), fmt.Sprintf("%v", target.Interface()))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2291,3 +2291,13 @@ func TestEnumPtrOmittedNoDefault(t *testing.T) {
|
|||||||
assert.NotZero(t, ctx)
|
assert.NotZero(t, ctx)
|
||||||
assert.Zero(t, cli.X)
|
assert.Zero(t, cli.X)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestIntEnum(t *testing.T) {
|
||||||
|
var cli struct {
|
||||||
|
Enum int `enum:"1,2,3" default:"1"`
|
||||||
|
}
|
||||||
|
k, err := kong.New(&cli)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
_, err = k.Parse([]string{"--enum=123"})
|
||||||
|
assert.EqualError(t, err, `--enum must be one of "1","2","3" but got "123"`)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user