| 1205 | } |
| 1206 | |
| 1207 | func TestCountMultipleFlags(t *testing.T) { |
| 1208 | if v, err := Parse("usage: prog [-v]", []string{"-v"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"-v": true}) != true { |
| 1209 | t.Error(err) |
| 1210 | } |
| 1211 | if v, err := Parse("usage: prog [-vv]", []string{}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"-v": 0}) != true { |
| 1212 | t.Error(err) |
| 1213 | } |
| 1214 | if v, err := Parse("usage: prog [-vv]", []string{"-v"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"-v": 1}) != true { |
| 1215 | t.Error(err) |
| 1216 | } |
| 1217 | if v, err := Parse("usage: prog [-vv]", []string{"-vv"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"-v": 2}) != true { |
| 1218 | t.Error(err) |
| 1219 | } |
| 1220 | _, err := Parse("usage: prog [-vv]", []string{"-vvv"}, true, "", false, false) |
| 1221 | if _, ok := err.(*UserError); !ok { |
| 1222 | t.Error(err) |
| 1223 | } |
| 1224 | if v, err := Parse("usage: prog [-v | -vv | -vvv]", []string{"-vvv"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"-v": 3}) != true { |
| 1225 | t.Error(err) |
| 1226 | } |
| 1227 | if v, err := Parse("usage: prog [-v...]", []string{"-vvvvvv"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"-v": 6}) != true { |
| 1228 | t.Error(err) |
| 1229 | } |
| 1230 | if v, err := Parse("usage: prog [--ver --ver]", []string{"--ver", "--ver"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"--ver": 2}) != true { |
| 1231 | t.Error(err) |
| 1232 | } |
| 1233 | } |
| 1234 | |
| 1235 | func TestAnyOptionsParameter(t *testing.T) { |
| 1236 | _, err := Parse("usage: prog [options]", |