From 720c5a33b6a49cf328fdd7611f49153cf8f60247 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 8 Apr 2020 14:51:57 +0300 Subject: Separate tests and examples into individual packages Also make cli module to be explicitly enabled via the config.cli configuration variable. --- cli-tests/group/testscript | 140 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 cli-tests/group/testscript (limited to 'cli-tests/group/testscript') diff --git a/cli-tests/group/testscript b/cli-tests/group/testscript new file mode 100644 index 0000000..6269ca2 --- /dev/null +++ b/cli-tests/group/testscript @@ -0,0 +1,140 @@ +# file : group/testscript +# license : MIT; see accompanying LICENSE file + +: no-args +: +$* '' + +: no-groups +: +$* '' --foo arg >>EOO +'--foo' +'arg' +EOO + +: group-pre +: +$* '' { --foo --bar }+ arg1 arg2 >>EOO +'arg1' '--foo' '--bar' +'arg2' +EOO + +: group-pre-multi +: +$* '' { --foo }+ { --bar }+ arg1 arg2 >>EOO +'arg1' '--foo' '--bar' +'arg2' +EOO + +: group-post +: +$* '' arg1 arg2 +{ foo bar } >>EOO +'arg1' +'arg2' 'foo' 'bar' +EOO + +: group-post-multi +: +$* '' arg1 arg2 +{ foo } +{ bar } >>EOO +'arg1' +'arg2' 'foo' 'bar' +EOO + +: group-both +: +$* '' arg1 { --foo --bar }+ arg2 +{ foo bar } arg3 >>EOO +'arg1' +'arg2' '--foo' '--bar' 'foo' 'bar' +'arg3' +EOO + +: group-both-multi +: +$* '' arg1 { --foo }+ { --bar }+ arg2 +{ foo } +{ bar } arg3 >>EOO +'arg1' +'arg2' '--foo' '--bar' 'foo' 'bar' +'arg3' +EOO + +: multi-group +: +$* '' { --foo }+ arg1 arg2 +{ bar } >>EOO +'arg1' '--foo' +'arg2' 'bar' +EOO + +: empty-group +: +$* '' { }+ arg1 arg2 +{ } >>EOO +'arg1' +'arg2' +EOO + +: escape-arg +: +$* '' '\{' '\}' '\+{' '\}+' '{x' '}x' >>EOO +'{' +'}' +'+{' +'}+' +'{x' +'}x' +EOO + +: escape-group +: +$* '' { '\{' '\}' '\+{' '\}+' '{x' '}x' }+ arg >>EOO +'arg' '{' '}' '+{' '}+' '{x' '}x' +EOO + +: not-group +: +$* '' { --foo } 2>>EOE != 0 +expected group separator '}+' instead of '}', use '\}' to escape +EOE + +: no-arg-pre +: +$* '' { --foo }+ 2>>EOE != 0 +unexpected group separator '{', use '\{' to escape +EOE + +: no-arg-pre-empty +: +$* '' { }+ 2>>EOE != 0 +unexpected group separator '{', use '\{' to escape +EOE + +: no-arg-post +: +$* '' +{ --foo } 2>>EOE != 0 +unexpected group separator '+{', use '\+{' to escape +EOE + +: no-arg-post-empty +: +$* '' +{ } 2>>EOE != 0 +unexpected group separator '+{', use '\+{' to escape +EOE + +: unhandled-group-pre +: +$* 'g' { --foo }+ arg >>EOO 2>>EOE != 0 +'arg' +EOO +unexpected grouped argument '--foo' for argument 'arg' +EOE + +: unhandled-group-post +: +$* 'g' arg +{ bar } >>EOO 2>>EOE != 0 +'arg' +EOO +unexpected grouped argument 'bar' for argument 'arg' +EOE + +: unhandled-group-skip +: +$* 'sg' { --foo }+ arg +{ bar } >>EOO + +EOO -- cgit v1.1