1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/expansion/trim3.0 207127 2010-04-23 17:26:49Z jilles $ 23df4d8b0SPeter Avalos 33df4d8b0SPeter Avalose= q='?' a='*' t=texttext s='ast*que?non' p='/et[c]/' w='a b c' b='{{(#)}}' 43df4d8b0SPeter Avalosh='##' c='\\\\' 53df4d8b0SPeter Avalosfailures='' 63df4d8b0SPeter Avalosok='' 73df4d8b0SPeter Avalos 83df4d8b0SPeter Avalostestcase() { 93df4d8b0SPeter Avalos code="$1" 103df4d8b0SPeter Avalos expected="$2" 113df4d8b0SPeter Avalos oIFS="$IFS" 123df4d8b0SPeter Avalos eval "$code" 133df4d8b0SPeter Avalos IFS='|' 143df4d8b0SPeter Avalos result="$#|$*" 153df4d8b0SPeter Avalos IFS="$oIFS" 163df4d8b0SPeter Avalos if [ "x$result" = "x$expected" ]; then 173df4d8b0SPeter Avalos ok=x$ok 183df4d8b0SPeter Avalos else 193df4d8b0SPeter Avalos failures=x$failures 203df4d8b0SPeter Avalos echo "For $code, expected $expected actual $result" 213df4d8b0SPeter Avalos fi 223df4d8b0SPeter Avalos} 233df4d8b0SPeter Avalos 243df4d8b0SPeter Avalos# This doesn't make much sense, but it fails in dash so I'm adding it here: 253df4d8b0SPeter Avalostestcase 'set -- "${w%${w#???}}"' '1|a b' 263df4d8b0SPeter Avalos 273df4d8b0SPeter Avalostestcase 'set -- ${p#/et[}' '1|c]/' 283df4d8b0SPeter Avalostestcase 'set -- "${p#/et[}"' '1|c]/' 293df4d8b0SPeter Avalostestcase 'set -- "${p%${p#????}}"' '1|/et[' 303df4d8b0SPeter Avalos 313df4d8b0SPeter Avalostestcase 'set -- ${b%'\'}\''}' '1|{{(#)}' 323df4d8b0SPeter Avalos 333df4d8b0SPeter Avalostestcase 'set -- ${c#\\}' '1|\\\' 343df4d8b0SPeter Avalostestcase 'set -- ${c#\\\\}' '1|\\' 353df4d8b0SPeter Avalostestcase 'set -- ${c#\\\\\\}' '1|\' 363df4d8b0SPeter Avalostestcase 'set -- ${c#\\\\\\\\}' '0|' 373df4d8b0SPeter Avalostestcase 'set -- "${c#\\}"' '1|\\\' 383df4d8b0SPeter Avalostestcase 'set -- "${c#\\\\}"' '1|\\' 393df4d8b0SPeter Avalostestcase 'set -- "${c#\\\\\\}"' '1|\' 403df4d8b0SPeter Avalostestcase 'set -- "${c#\\\\\\\\}"' '1|' 413df4d8b0SPeter Avalostestcase 'set -- "${c#"$c"}"' '1|' 423df4d8b0SPeter Avalostestcase 'set -- ${c#"$c"}' '0|' 433df4d8b0SPeter Avalostestcase 'set -- "${c%"$c"}"' '1|' 443df4d8b0SPeter Avalostestcase 'set -- ${c%"$c"}' '0|' 453df4d8b0SPeter Avalos 463df4d8b0SPeter Avalostest "x$failures" = x 47