summaryrefslogtreecommitdiff
path: root/cli-tests/group/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'cli-tests/group/testscript')
-rw-r--r--cli-tests/group/testscript84
1 files changed, 79 insertions, 5 deletions
diff --git a/cli-tests/group/testscript b/cli-tests/group/testscript
index 6269ca2..0b1d939 100644
--- a/cli-tests/group/testscript
+++ b/cli-tests/group/testscript
@@ -19,6 +19,14 @@ $* '' { --foo --bar }+ arg1 arg2 >>EOO
'arg2'
EOO
+: group-pre-pack
+:
+$* '' { --foo --bar }+ { arg1 arg2 } arg3 >>EOO
+'arg1' '--foo' '--bar'
+'arg2' '--foo' '--bar'
+'arg3'
+EOO
+
: group-pre-multi
:
$* '' { --foo }+ { --bar }+ arg1 arg2 >>EOO
@@ -26,6 +34,14 @@ $* '' { --foo }+ { --bar }+ arg1 arg2 >>EOO
'arg2'
EOO
+: group-pre-multi-pack
+:
+$* '' { --foo }+ { --bar }+ { arg1 arg2 } arg3 >>EOO
+'arg1' '--foo' '--bar'
+'arg2' '--foo' '--bar'
+'arg3'
+EOO
+
: group-post
:
$* '' arg1 arg2 +{ foo bar } >>EOO
@@ -33,6 +49,14 @@ $* '' arg1 arg2 +{ foo bar } >>EOO
'arg2' 'foo' 'bar'
EOO
+: group-post-pack
+:
+$* '' arg1 { arg2 arg3 } +{ foo bar } >>EOO
+'arg1'
+'arg2' 'foo' 'bar'
+'arg3' 'foo' 'bar'
+EOO
+
: group-post-multi
:
$* '' arg1 arg2 +{ foo } +{ bar } >>EOO
@@ -40,6 +64,14 @@ $* '' arg1 arg2 +{ foo } +{ bar } >>EOO
'arg2' 'foo' 'bar'
EOO
+: group-post-multi-pack
+:
+$* '' arg1 { arg2 arg3 } +{ foo } +{ bar } >>EOO
+'arg1'
+'arg2' 'foo' 'bar'
+'arg3' 'foo' 'bar'
+EOO
+
: group-both
:
$* '' arg1 { --foo --bar }+ arg2 +{ foo bar } arg3 >>EOO
@@ -48,6 +80,15 @@ $* '' arg1 { --foo --bar }+ arg2 +{ foo bar } arg3 >>EOO
'arg3'
EOO
+: group-both-pack
+:
+$* '' arg1 { --foo --bar }+ { arg2 arg3 } +{ foo bar } arg4 >>EOO
+'arg1'
+'arg2' '--foo' '--bar' 'foo' 'bar'
+'arg3' '--foo' '--bar' 'foo' 'bar'
+'arg4'
+EOO
+
: group-both-multi
:
$* '' arg1 { --foo }+ { --bar }+ arg2 +{ foo } +{ bar } arg3 >>EOO
@@ -56,6 +97,15 @@ $* '' arg1 { --foo }+ { --bar }+ arg2 +{ foo } +{ bar } arg3 >>EOO
'arg3'
EOO
+: group-both-multi-pack
+:
+$* '' arg1 { --foo }+ { --bar }+ { arg2 arg3 } +{ foo } +{ bar } arg4 >>EOO
+'arg1'
+'arg2' '--foo' '--bar' 'foo' 'bar'
+'arg3' '--foo' '--bar' 'foo' 'bar'
+'arg4'
+EOO
+
: multi-group
:
$* '' { --foo }+ arg1 arg2 +{ bar } >>EOO
@@ -63,6 +113,15 @@ $* '' { --foo }+ arg1 arg2 +{ bar } >>EOO
'arg2' 'bar'
EOO
+: multi-group-pack
+:
+$* '' { --foo }+ { arg1 arg2 } { arg3 arg4 } +{ bar } >>EOO
+'arg1' '--foo'
+'arg2' '--foo'
+'arg3' 'bar'
+'arg4' 'bar'
+EOO
+
: empty-group
:
$* '' { }+ arg1 arg2 +{ } >>EOO
@@ -70,6 +129,13 @@ $* '' { }+ arg1 arg2 +{ } >>EOO
'arg2'
EOO
+: empty-group-pack
+:
+$* '' { }+ { arg1 arg2 } +{ } >>EOO
+'arg1'
+'arg2'
+EOO
+
: escape-arg
:
$* '' '\{' '\}' '\+{' '\}+' '{x' '}x' >>EOO
@@ -87,10 +153,16 @@ $* '' { '\{' '\}' '\+{' '\}+' '{x' '}x' }+ arg >>EOO
'arg' '{' '}' '+{' '}+' '{x' '}x'
EOO
-: not-group
+: pack-no-group
:
-$* '' { --foo } 2>>EOE != 0
-expected group separator '}+' instead of '}', use '\}' to escape
+$* '' { --foo } { arg2 }+ 2>>EOE != 0
+unexpected group separator '{', use '\{' to escape
+EOE
+
+: empty-pack
+:
+$* '' { --foo }+ { } 2>>EOE != 0
+unexpected group separator '{', use '\{' to escape
EOE
: no-arg-pre
@@ -135,6 +207,8 @@ EOE
: unhandled-group-skip
:
-$* 'sg' { --foo }+ arg +{ bar } >>EOO
+$* 'sg' { --foo }+ arg +{ bar }
-EOO
+: unhandled-group-skip-pack
+:
+$* 'sg' { --foo }+ { arg1 arg2 } +{ bar }