positional2.0 revision 228873
1238722Skargl# $FreeBSD: head/tools/regression/bin/sh/parameters/positional2.0 228873 2011-12-25 13:24:48Z jilles $
2251315Skargl
3238722Skarglfailures=''
4238722Skarglok=''
5238722Skargl
6238722Skargltestcase() {
7238722Skargl	code="$1"
8238722Skargl	expected="$2"
9238722Skargl	oIFS="$IFS"
10238722Skargl	eval "$code"
11238722Skargl	IFS='|'
12238722Skargl	result="$#|$*"
13238722Skargl	IFS="$oIFS"
14238722Skargl	if [ "x$result" = "x$expected" ]; then
15238722Skargl		ok=x$ok
16238722Skargl	else
17238722Skargl		failures=x$failures
18238722Skargl		echo "For $code, expected $expected actual $result"
19238722Skargl	fi
20238722Skargl}
21238722Skargl
22238722Skargltestcase 'set -- a b; set -- p$@q'		'2|pa|bq'
23238722Skargltestcase 'set -- a b; set -- $@q'		'2|a|bq'
24238722Skargltestcase 'set -- a b; set -- p$@'		'2|pa|b'
25238722Skargltestcase 'set -- a b; set -- p$@q'		'2|pa|bq'
26238722Skargltestcase 'set -- a b; set -- $@q'		'2|a|bq'
27238722Skargltestcase 'set -- a b; set -- p$@'		'2|pa|b'
28238722Skargltestcase 'set -- a b; set -- p$*q'		'2|pa|bq'
29238722Skargltestcase 'set -- a b; set -- $*q'		'2|a|bq'
30238722Skargltestcase 'set -- a b; set -- p$*'		'2|pa|b'
31238722Skargltestcase 'set -- a b; set -- p$*q'		'2|pa|bq'
32251316Skargltestcase 'set -- a b; set -- $*q'		'2|a|bq'
33238722Skargltestcase 'set -- a b; set -- p$*'		'2|pa|b'
34238722Skargltestcase 'set -- a b; set -- "p$@q"'		'2|pa|bq'
35238722Skargltestcase 'set -- a b; set -- "$@q"'		'2|a|bq'
36238722Skargltestcase 'set -- a b; set -- "p$@"'		'2|pa|b'
37238722Skargltestcase 'set -- a b; set -- p"$@"q'		'2|pa|bq'
38238722Skargltestcase 'set -- a b; set -- "$@"q'		'2|a|bq'
39238784Skargltestcase 'set -- a b; set -- p"$@"'		'2|pa|b'
40238722Skargltestcase 'set -- "" a b; set -- "p$@q"'		'3|p|a|bq'
41238722Skargltestcase 'set -- "" a b; set -- "$@q"'		'3||a|bq'
42238722Skargltestcase 'set -- "" a b; set -- "p$@"'		'3|p|a|b'
43238722Skargltestcase 'set -- "" a b; set -- p"$@"q'		'3|p|a|bq'
44238722Skargltestcase 'set -- "" a b; set -- "$@"q'		'3||a|bq'
45238722Skargltestcase 'set -- "" a b; set -- p"$@"'		'3|p|a|b'
46238722Skargltestcase 'set -- a; set -- p$@q'		'1|paq'
47238722Skargltestcase 'set -- a; set -- $@q'			'1|aq'
48238783Skargltestcase 'set -- a; set -- p$@'			'1|pa'
49238722Skargltestcase 'set -- a; set -- p$@q'		'1|paq'
50238722Skargltestcase 'set -- a; set -- $@q'			'1|aq'
51238722Skargltestcase 'set -- a; set -- p$@'			'1|pa'
52240861Skargltestcase 'set -- a; set -- p$*q'		'1|paq'
53251327Skargltestcase 'set -- a; set -- $*q'			'1|aq'
54238722Skargltestcase 'set -- a; set -- p$*'			'1|pa'
55238722Skargltestcase 'set -- a; set -- p$*q'		'1|paq'
56238722Skargltestcase 'set -- a; set -- $*q'			'1|aq'
57238722Skargltestcase 'set -- a; set -- p$*'			'1|pa'
58238722Skargltestcase 'set -- a; set -- "p$@q"'		'1|paq'
59238722Skargltestcase 'set -- a; set -- "$@q"'		'1|aq'
60238722Skargltestcase 'set -- a; set -- "p$@"'		'1|pa'
61238722Skargltestcase 'set -- a; set -- p"$@"q'		'1|paq'
62238722Skargltestcase 'set -- a; set -- "$@"q'		'1|aq'
63238722Skargltestcase 'set -- a; set -- p"$@"'		'1|pa'
64251328Skargl
65251328Skargltest "x$failures" = x
66251328Skargl