1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, either version 3 of the License, or
4 # (at your option) any later version.
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # GNU General Public License for more details.
11 # You should have received a copy of the GNU General Public License
12 # along with this program. If not, see <http://www.gnu.org/licenses/>.
14 # expansion test cases from Posix interp 888
16 set "abc" "def ghi" "jkl"
22 printf '%s\n' "xx$*yy"
25 printf '%s\n' ${1+"$@"}
26 printf '%s\n' ${novar-"$@"}
28 printf '%s\n' "xx$@yy"
33 var=$*; printf '%s\n' "$var"
34 var="$*"; printf '%s\n' "$var"
36 printf '%s\n' ${var-$*}
37 printf '%s\n' "${var-$*}"
38 printf '%s\n' ${var-"$*"}
39 printf '%s\n' ${var=$*}
40 printf 'var=%s\n' "$var"
42 printf '%s\n' "${var=$*}"
43 printf 'var=%s\n' "$var"
47 var=$*; printf '%s\n' "$var"
48 var="$*"; printf '%s\n' "$var"
50 printf '%s\n' ${var-$*}
51 printf '%s\n' "${var-$*}"
52 printf '%s\n' ${var-"$*"}
53 printf '%s\n' ${var=$*}
54 printf 'var=%s\n' "$var"
56 printf '%s\n' "${var=$*}"
57 printf 'var=%s\n' "$var"
62 var=$*; printf '%s\n' "$var"
63 var="$*"; printf '%s\n' "$var"
65 printf '%s\n' ${var-$*}
66 printf '%s\n' "${var-$*}"
67 printf '%s\n' ${var-"$*"}
68 printf '%s\n' ${var=$*}
69 printf 'var=%s\n' "$var"
71 printf '%s\n' "${var=$*}"
72 printf 'var=%s\n' "$var"
76 printf '[%s]\n' foo "$*"
77 printf '[%s]\n' foo "$novar$*$(echo)"
78 printf '[%s]\n' foo $@
79 printf '[%s]\n' foo "$@"
80 printf '[%s]\n' foo ''$@
81 printf '[%s]\n' foo ''"$@"
82 printf '[%s]\n' foo ''"$novar$@$(echo)"