1228873Sjilles# $FreeBSD: releng/11.0/bin/sh/tests/parameters/positional2.0 228873 2011-12-25 13:24:48Z jilles $
2228873Sjilles
3228873Sjillesfailures=''
4228873Sjillesok=''
5228873Sjilles
6228873Sjillestestcase() {
7228873Sjilles	code="$1"
8228873Sjilles	expected="$2"
9228873Sjilles	oIFS="$IFS"
10228873Sjilles	eval "$code"
11228873Sjilles	IFS='|'
12228873Sjilles	result="$#|$*"
13228873Sjilles	IFS="$oIFS"
14228873Sjilles	if [ "x$result" = "x$expected" ]; then
15228873Sjilles		ok=x$ok
16228873Sjilles	else
17228873Sjilles		failures=x$failures
18228873Sjilles		echo "For $code, expected $expected actual $result"
19228873Sjilles	fi
20228873Sjilles}
21228873Sjilles
22228873Sjillestestcase 'set -- a b; set -- p$@q'		'2|pa|bq'
23228873Sjillestestcase 'set -- a b; set -- $@q'		'2|a|bq'
24228873Sjillestestcase 'set -- a b; set -- p$@'		'2|pa|b'
25228873Sjillestestcase 'set -- a b; set -- p$@q'		'2|pa|bq'
26228873Sjillestestcase 'set -- a b; set -- $@q'		'2|a|bq'
27228873Sjillestestcase 'set -- a b; set -- p$@'		'2|pa|b'
28228873Sjillestestcase 'set -- a b; set -- p$*q'		'2|pa|bq'
29228873Sjillestestcase 'set -- a b; set -- $*q'		'2|a|bq'
30228873Sjillestestcase 'set -- a b; set -- p$*'		'2|pa|b'
31228873Sjillestestcase 'set -- a b; set -- p$*q'		'2|pa|bq'
32228873Sjillestestcase 'set -- a b; set -- $*q'		'2|a|bq'
33228873Sjillestestcase 'set -- a b; set -- p$*'		'2|pa|b'
34228873Sjillestestcase 'set -- a b; set -- "p$@q"'		'2|pa|bq'
35228873Sjillestestcase 'set -- a b; set -- "$@q"'		'2|a|bq'
36228873Sjillestestcase 'set -- a b; set -- "p$@"'		'2|pa|b'
37228873Sjillestestcase 'set -- a b; set -- p"$@"q'		'2|pa|bq'
38228873Sjillestestcase 'set -- a b; set -- "$@"q'		'2|a|bq'
39228873Sjillestestcase 'set -- a b; set -- p"$@"'		'2|pa|b'
40228873Sjillestestcase 'set -- "" a b; set -- "p$@q"'		'3|p|a|bq'
41228873Sjillestestcase 'set -- "" a b; set -- "$@q"'		'3||a|bq'
42228873Sjillestestcase 'set -- "" a b; set -- "p$@"'		'3|p|a|b'
43228873Sjillestestcase 'set -- "" a b; set -- p"$@"q'		'3|p|a|bq'
44228873Sjillestestcase 'set -- "" a b; set -- "$@"q'		'3||a|bq'
45228873Sjillestestcase 'set -- "" a b; set -- p"$@"'		'3|p|a|b'
46228873Sjillestestcase 'set -- a; set -- p$@q'		'1|paq'
47228873Sjillestestcase 'set -- a; set -- $@q'			'1|aq'
48228873Sjillestestcase 'set -- a; set -- p$@'			'1|pa'
49228873Sjillestestcase 'set -- a; set -- p$@q'		'1|paq'
50228873Sjillestestcase 'set -- a; set -- $@q'			'1|aq'
51228873Sjillestestcase 'set -- a; set -- p$@'			'1|pa'
52228873Sjillestestcase 'set -- a; set -- p$*q'		'1|paq'
53228873Sjillestestcase 'set -- a; set -- $*q'			'1|aq'
54228873Sjillestestcase 'set -- a; set -- p$*'			'1|pa'
55228873Sjillestestcase 'set -- a; set -- p$*q'		'1|paq'
56228873Sjillestestcase 'set -- a; set -- $*q'			'1|aq'
57228873Sjillestestcase 'set -- a; set -- p$*'			'1|pa'
58228873Sjillestestcase 'set -- a; set -- "p$@q"'		'1|paq'
59228873Sjillestestcase 'set -- a; set -- "$@q"'		'1|aq'
60228873Sjillestestcase 'set -- a; set -- "p$@"'		'1|pa'
61228873Sjillestestcase 'set -- a; set -- p"$@"q'		'1|paq'
62228873Sjillestestcase 'set -- a; set -- "$@"q'		'1|aq'
63228873Sjillestestcase 'set -- a; set -- p"$@"'		'1|pa'
64228873Sjilles
65228873Sjillestest "x$failures" = x
66