MCPcopy Create free account
hub / github.com/docopt/docopt.go / TestParsePattern

Function TestParsePattern

docopt_test.go:237–369  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

235}
236
237func 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 }

Callers

nothing calls this directly

Calls 11

newOptionFunction · 0.85
parsePatternFunction · 0.85
newRequiredFunction · 0.85
newOptionalFunction · 0.85
newOneOrMoreFunction · 0.85
newArgumentFunction · 0.85
newEitherFunction · 0.85
newOptionsShortcutFunction · 0.85
newCommandFunction · 0.85
eqMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected