summary refs log tree commit diff
path: root/bin/cash/tests/expansion/ifs4.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/cash/tests/expansion/ifs4.0')
-rw-r--r--bin/cash/tests/expansion/ifs4.039
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