summaryrefslogtreecommitdiffstats
path: root/shell_cmds/sh/tests/expansion/ifs4.0
diff options
context:
space:
mode:
Diffstat (limited to 'shell_cmds/sh/tests/expansion/ifs4.0')
-rw-r--r--shell_cmds/sh/tests/expansion/ifs4.039
1 files changed, 39 insertions, 0 deletions
diff --git a/shell_cmds/sh/tests/expansion/ifs4.0 b/shell_cmds/sh/tests/expansion/ifs4.0
new file mode 100644
index 0000000..a307ec5
--- /dev/null
+++ b/shell_cmds/sh/tests/expansion/ifs4.0
@@ -0,0 +1,39 @@
+# $FreeBSD: head/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