diff options
Diffstat (limited to 'bin/cash/tests/expansion/ifs4.0')
-rw-r--r-- | bin/cash/tests/expansion/ifs4.0 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/cash/tests/expansion/ifs4.0 b/bin/cash/tests/expansion/ifs4.0 new file mode 100644 index 00000000..e487d513 --- /dev/null +++ b/bin/cash/tests/expansion/ifs4.0 @@ -0,0 +1,39 @@ +# $FreeBSD: releng/12.0/bin/sh/tests/expansion/ifs4.0 222361 2011-05-27 15:56:13Z jilles $ + +c=: e= s=' ' +failures='' +ok='' + +check_result() { + if [ "x$2" = "x$3" ]; then + ok=x$ok + else + failures=x$failures + echo "For $1, expected $3 actual $2" + fi +} + +IFS=' +' +set -- a b '' c +set -- $@ +check_result 'set -- $@' "($#)($1)($2)($3)($4)" "(3)(a)(b)(c)()" + +IFS='' +set -- a b '' c +set -- $@ +check_result 'set -- $@' "($#)($1)($2)($3)($4)" "(3)(a)(b)(c)()" + +set -- a b '' c +set -- $* +check_result 'set -- $*' "($#)($1)($2)($3)($4)" "(3)(a)(b)(c)()" + +set -- a b '' c +set -- "$@" +check_result 'set -- "$@"' "($#)($1)($2)($3)($4)" "(4)(a)(b)()(c)" + +set -- a b '' c +set -- "$*" +check_result 'set -- "$*"' "($#)($1)($2)($3)($4)" "(1)(abc)()()()" + +test "x$failures" = x |