# file : tests/group/testscript # copyright : Copyright (c) 2009-2017 Code Synthesis Tools CC # 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