+1
-1
@@ -996,7 +996,7 @@ func checkEnum(value *Value, target reflect.Value) error {
|
||||
}
|
||||
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.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