32 lines
987 B
Go
32 lines
987 B
Go
package commandkit_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
commandkit "gitea.maximumdirect.net/eric/CommandKit"
|
|
)
|
|
|
|
func TestPublicInstallationAcceptsMixedDeclarations(t *testing.T) {
|
|
command := commandkit.NewCommand(commandkit.CommandSpec[struct{}]{
|
|
Name: "show",
|
|
Summary: "Show a value.",
|
|
Flags: []commandkit.Flag[struct{}]{
|
|
commandkit.ValueFlag(commandkit.FlagMeta{Name: "format"}, (*string)(nil), func(value string) (string, error) { return value, nil }, func(*struct{}, commandkit.Supplied[string]) {}),
|
|
},
|
|
Run: func(commandkit.Invocation, struct{}) commandkit.Outcome { return commandkit.Success() },
|
|
})
|
|
declarations := []commandkit.Declaration{
|
|
command,
|
|
commandkit.Alias("inspect", "show"),
|
|
commandkit.FlagAlias("--fmt", "--format"),
|
|
commandkit.FlagAliasFor("show", "-f", "--format"),
|
|
}
|
|
app, err := commandkit.New(commandkit.Identity{Name: "Example"}, declarations...)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if app == nil {
|
|
t.Fatal("New() returned a nil app")
|
|
}
|
|
}
|