summary refs log tree commit diff
path: root/bin/1sh/tests/expansion/ifs4.0
blob: 8b9967b836e161796c260b54d78a04af2bd0800a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# $FreeBSD: releng/12.1/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