Allow "bare" tags and moved tag tests into tag_test.go. Fixes #19

This commit is contained in:
Gerald Kaszuba
2018-06-01 11:24:18 +10:00
committed by Alec Thomas
parent fdc7230e22
commit ed123d1c06
4 changed files with 122 additions and 69 deletions
-58
View File
@@ -246,64 +246,6 @@ func TestMixedRequiredArgs(t *testing.T) {
})
}
func TestDefaultValueForOptionalArg(t *testing.T) {
var cli struct {
Arg string `kong:"arg,optional,default='👌'"`
}
p := mustNew(t, &cli)
_, err := p.Parse(nil)
require.NoError(t, err)
require.Equal(t, "👌", cli.Arg)
}
func TestNoValueInTag(t *testing.T) {
var cli struct {
Empty1 string `kong:"default"`
Empty2 string `kong:"default="`
}
p := mustNew(t, &cli)
_, err := p.Parse(nil)
require.NoError(t, err)
require.Equal(t, "", cli.Empty1)
require.Equal(t, "", cli.Empty2)
}
func TestCommaInQuotes(t *testing.T) {
var cli struct {
Numbers string `kong:"default='1,2'"`
}
p := mustNew(t, &cli)
_, err := p.Parse(nil)
require.NoError(t, err)
require.Equal(t, "1,2", cli.Numbers)
}
func TestBadString(t *testing.T) {
var cli struct {
Numbers string `kong:"default='yay'n"`
}
_, err := New(&cli)
require.Error(t, err)
}
func TestNoQuoteEnd(t *testing.T) {
var cli struct {
Numbers string `kong:"default='yay"`
}
_, err := New(&cli)
require.Error(t, err)
}
func TestEscapedQuote(t *testing.T) {
var cli struct {
DoYouKnow string `kong:"default='i don\\'t know'"`
}
p := mustNew(t, &cli)
_, err := p.Parse(nil)
require.NoError(t, err)
require.Equal(t, "i don't know", cli.DoYouKnow)
}
func TestInvalidDefaultErrors(t *testing.T) {
var cli struct {
Flag int `kong:"default='foo'"`