1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/expansion/tilde2.0 206150 2010-04-03 22:04:44Z jilles $ 23df4d8b0SPeter Avalos 33df4d8b0SPeter AvalosHOME=/tmp 43df4d8b0SPeter Avalosroothome=~root 53df4d8b0SPeter Avalosif [ "$roothome" = "~root" ]; then 63df4d8b0SPeter Avalos echo "~root is not expanded!" 73df4d8b0SPeter Avalos exit 2 83df4d8b0SPeter Avalosfi 93df4d8b0SPeter Avalos 103df4d8b0SPeter Avalostestcase() { 113df4d8b0SPeter Avalos code="$1" 123df4d8b0SPeter Avalos expected="$2" 133df4d8b0SPeter Avalos oIFS="$IFS" 143df4d8b0SPeter Avalos eval "$code" 153df4d8b0SPeter Avalos IFS='|' 163df4d8b0SPeter Avalos result="$#|$*" 173df4d8b0SPeter Avalos IFS="$oIFS" 183df4d8b0SPeter Avalos if [ "x$result" = "x$expected" ]; then 193df4d8b0SPeter Avalos ok=x$ok 203df4d8b0SPeter Avalos else 213df4d8b0SPeter Avalos failures=x$failures 223df4d8b0SPeter Avalos echo "For $code, expected $expected actual $result" 233df4d8b0SPeter Avalos fi 243df4d8b0SPeter Avalos} 253df4d8b0SPeter Avalos 263df4d8b0SPeter Avalostestcase 'set -- ${$+~}' '1|/tmp' 273df4d8b0SPeter Avalostestcase 'set -- ${$+~/}' '1|/tmp/' 283df4d8b0SPeter Avalostestcase 'set -- ${$+~/foo}' '1|/tmp/foo' 293df4d8b0SPeter Avalostestcase 'set -- ${$+x~}' '1|x~' 303df4d8b0SPeter Avalostestcase 'set -- ${$+~root}' "1|$roothome" 313df4d8b0SPeter Avalostestcase 'set -- ${$+"~"}' '1|~' 323df4d8b0SPeter Avalostestcase 'set -- ${$+"~/"}' '1|~/' 333df4d8b0SPeter Avalostestcase 'set -- ${$+"~/foo"}' '1|~/foo' 343df4d8b0SPeter Avalostestcase 'set -- ${$+"x~"}' '1|x~' 353df4d8b0SPeter Avalostestcase 'set -- ${$+"~root"}' "1|~root" 363df4d8b0SPeter Avalostestcase 'set -- "${$+~}"' '1|~' 373df4d8b0SPeter Avalostestcase 'set -- "${$+~/}"' '1|~/' 383df4d8b0SPeter Avalostestcase 'set -- "${$+~/foo}"' '1|~/foo' 393df4d8b0SPeter Avalostestcase 'set -- "${$+x~}"' '1|x~' 403df4d8b0SPeter Avalostestcase 'set -- "${$+~root}"' "1|~root" 413df4d8b0SPeter Avalostestcase 'set -- ${HOME#~}' '0|' 423df4d8b0SPeter Avalosh=~ 433df4d8b0SPeter Avalostestcase 'set -- "$h"' '1|/tmp' 443df4d8b0SPeter Avalosf=~/foo 453df4d8b0SPeter Avalostestcase 'set -- "$f"' '1|/tmp/foo' 463df4d8b0SPeter Avalostestcase 'set -- ${f#~}' '1|/foo' 473df4d8b0SPeter Avalostestcase 'set -- ${f#~/}' '1|foo' 483df4d8b0SPeter Avalos 493df4d8b0SPeter AvalosooIFS=$IFS 503df4d8b0SPeter AvalosIFS=m 513df4d8b0SPeter Avalostestcase 'set -- ${$+~}' '1|/tmp' 523df4d8b0SPeter Avalostestcase 'set -- ${$+~/foo}' '1|/tmp/foo' 533df4d8b0SPeter Avalostestcase 'set -- ${$+$h}' '2|/t|p' 543df4d8b0SPeter Avalostestcase 'set -- ${HOME#~}' '0|' 553df4d8b0SPeter AvalosIFS=$ooIFS 563df4d8b0SPeter Avalos 573df4d8b0SPeter Avalost=\~ 583df4d8b0SPeter Avalostestcase 'set -- ${$+$t}' '1|~' 593df4d8b0SPeter Avalosr=$(cat <<EOF 603df4d8b0SPeter Avalos${HOME#~} 613df4d8b0SPeter AvalosEOF 623df4d8b0SPeter Avalos) 633df4d8b0SPeter Avalostestcase 'set -- $r' '0|' 643df4d8b0SPeter Avalosr=$(cat <<EOF 653df4d8b0SPeter Avalos${HOME#'~'} 663df4d8b0SPeter AvalosEOF 673df4d8b0SPeter Avalos) 683df4d8b0SPeter Avalostestcase 'set -- $r' '1|/tmp' 693df4d8b0SPeter Avalosr=$(cat <<EOF 703df4d8b0SPeter Avalos${t#'~'} 713df4d8b0SPeter AvalosEOF 723df4d8b0SPeter Avalos) 733df4d8b0SPeter Avalostestcase 'set -- $r' '0|' 743df4d8b0SPeter Avalosr=$(cat <<EOF 753df4d8b0SPeter Avalos${roothome#~root} 763df4d8b0SPeter AvalosEOF 773df4d8b0SPeter Avalos) 783df4d8b0SPeter Avalostestcase 'set -- $r' '0|' 793df4d8b0SPeter Avalosr=$(cat <<EOF 803df4d8b0SPeter Avalos${f#~} 813df4d8b0SPeter AvalosEOF 823df4d8b0SPeter Avalos) 833df4d8b0SPeter Avalostestcase 'set -- $r' '1|/foo' 843df4d8b0SPeter Avalosr=$(cat <<EOF 853df4d8b0SPeter Avalos${f#~/} 863df4d8b0SPeter AvalosEOF 873df4d8b0SPeter Avalos) 883df4d8b0SPeter Avalostestcase 'set -- $r' '1|foo' 893df4d8b0SPeter Avalos 903df4d8b0SPeter Avalostest "x$failures" = x 91