@cryptotaxi247 / kubo / commits / be3b7e13e

parse_test: test command with optional arg

License: MIT Signed-off-by: Christian Couder <chriscool@tuxfamily.org>

Christian Couder committed May 20, 2015 at 22:47 UTC be3b7e13e3a2edbb730ffef2240f50f754073b5a
1 file changed +12
commands/cli/parse_test.go
+12
@@ -144,6 +144,12 @@ func TestArgumentParsing(t *testing.T) {
144 commands.StringArg("b", false, true, "another arg"),
145 },
146 },
147 + "optionalsecond": {
148 + Arguments: []commands.Argument{
149 + commands.StringArg("a", true, false, "some arg"),
150 + commands.StringArg("b", false, false, "another arg"),
151 + },
152 + },
153 "reversedoptional": {
154 Arguments: []commands.Argument{
155 commands.StringArg("a", false, false, "some arg"),
@@ -213,6 +219,12 @@ func TestArgumentParsing(t *testing.T) {
219
220 test([]string{"optional", "value!"}, nil, []string{"value!"})
221 test([]string{"optional"}, nil, []string{})
222 + test([]string{"optional", "value1", "value2"}, nil, []string{"value1", "value2"})
223 +
224 + test([]string{"optionalsecond", "value!"}, nil, []string{"value!"})
225 + test([]string{"optionalsecond", "value1", "value2"}, nil, []string{"value1", "value2"})
226 + testFail([]string{"optionalsecond"}, "didn't provide any args, 1 required")
227 + testFail([]string{"optionalsecond", "value1", "value2", "value3"}, "provided too many args, takes 2 maximum")
228
229 test([]string{"reversedoptional", "value1", "value2"}, nil, []string{"value1", "value2"})
230 test([]string{"reversedoptional", "value!"}, nil, []string{"value!"})