Add support for maps.

This commit is contained in:
Alec Thomas
2018-06-13 22:16:43 +10:00
parent 54386f7fa5
commit ecf21e4cc9
7 changed files with 76 additions and 22 deletions
+10 -1
View File
@@ -139,7 +139,7 @@ func TestArgSliceWithSeparator(t *testing.T) {
func TestUnsupportedFieldErrors(t *testing.T) {
var cli struct {
Keys map[string]string
Keys struct{}
}
_, err := New(&cli)
require.Error(t, err)
@@ -401,3 +401,12 @@ func TestDuplicateSliceAccumulates(t *testing.T) {
require.NoError(t, err)
require.Equal(t, []int{1, 2, 3, 4}, cli.Flag)
}
func TestMapFlag(t *testing.T) {
var cli struct {
Set map[string]int
}
_, err := mustNew(t, &cli).Parse([]string{"--set", "a=10", "--set", "b=20"})
require.NoError(t, err)
require.Equal(t, map[string]int{"a": 10, "b": 20}, cli.Set)
}