feat: support optionally passing kong.Context to Validate()

Fixes #340
This commit is contained in:
Alec Thomas
2024-11-03 14:14:55 +11:00
parent 64229c9fe7
commit 1b9d57eec1
3 changed files with 33 additions and 4 deletions
+13
View File
@@ -1466,6 +1466,19 @@ func TestValidateArg(t *testing.T) {
assert.EqualError(t, err, "<arg>: flag error")
}
type extendedValidateFlag string
func (v *extendedValidateFlag) Validate(kctx *kong.Context) error { return errors.New("flag error") }
func TestExtendedValidateFlag(t *testing.T) {
cli := struct {
Flag extendedValidateFlag
}{}
p := mustNew(t, &cli)
_, err := p.Parse([]string{"--flag=one"})
assert.EqualError(t, err, "--flag: flag error")
}
func TestPointers(t *testing.T) {
cli := struct {
Mapped *mappedValue