(t *testing.T)
| 235 | } |
| 236 | |
| 237 | func TestParsePattern(t *testing.T) { |
| 238 | o := patternList{ |
| 239 | newOption("-h", "", 0, false), |
| 240 | newOption("-v", "--verbose", 0, false), |
| 241 | newOption("-f", "--file", 1, false), |
| 242 | } |
| 243 | |
| 244 | p, err := parsePattern("[ -h ]", &o) |
| 245 | q := newRequired(newOptional(newOption("-h", "", 0, false))) |
| 246 | if p.eq(q) != true { |
| 247 | t.Error(err) |
| 248 | } |
| 249 | |
| 250 | p, err = parsePattern("[ ARG ... ]", &o) |
| 251 | q = newRequired(newOptional( |
| 252 | newOneOrMore( |
| 253 | newArgument("ARG", nil)))) |
| 254 | if p.eq(q) != true { |
| 255 | t.Error(err) |
| 256 | } |
| 257 | |
| 258 | p, err = parsePattern("[ -h | -v ]", &o) |
| 259 | q = newRequired( |
| 260 | newOptional( |
| 261 | newEither( |
| 262 | newOption("-h", "", 0, false), |
| 263 | newOption("-v", "--verbose", 0, false)))) |
| 264 | if p.eq(q) != true { |
| 265 | t.Error(err) |
| 266 | } |
| 267 | |
| 268 | p, err = parsePattern("( -h | -v [ --file <f> ] )", &o) |
| 269 | q = newRequired( |
| 270 | newRequired( |
| 271 | newEither( |
| 272 | newOption("-h", "", 0, false), |
| 273 | newRequired( |
| 274 | newOption("-v", "--verbose", 0, false), |
| 275 | newOptional( |
| 276 | newOption("-f", "--file", 1, nil)))))) |
| 277 | if p.eq(q) != true { |
| 278 | t.Error(err) |
| 279 | } |
| 280 | |
| 281 | p, err = parsePattern("(-h|-v[--file=<f>]N...)", &o) |
| 282 | q = newRequired( |
| 283 | newRequired( |
| 284 | newEither( |
| 285 | newOption("-h", "", 0, false), |
| 286 | newRequired( |
| 287 | newOption("-v", "--verbose", 0, false), |
| 288 | newOptional( |
| 289 | newOption("-f", "--file", 1, nil)), |
| 290 | newOneOrMore( |
| 291 | newArgument("N", nil)))))) |
| 292 | if p.eq(q) != true { |
| 293 | t.Error(err) |
| 294 | } |
nothing calls this directly
no test coverage detected