Lines Matching refs:ifs
63 oifs="$IFS"
64 IFS="$nl"
66 IFS="$oifs"
109 unset IFS
141 # Check that IFS is applied to text from ${x-...} unless it is inside
210 # Check that IFS is applied to text from ${x+...} unless it is inside
288 # repeat with an alphabetic in IFS
289 check 'IFS=q; set ${x-aqbqc}; echo $#' 3
290 check 'IFS=q; for i in ${x-aqbqc}; do echo "z${i}z"; done' \
292 check 'IFS=q; for i in ${x-"aqb"qc}; do echo "z${i}z"; done' \
294 check 'IFS=q; for i in ${x-"aq${x-bqc}"qd}; do echo "z${i}z"; done' \
300 check 'IFS=q; for i in ${x-"aq${x-"bqc"}"qd}; do echo "z${i}z"; done' \
303 check 'IFS=q; for i in ${x-aq${x-"bqc"}qd}; do echo "z${i}z"; done' \
386 atf_test_case ifs
389 atf_set "descr" "Checks that IFS correctly configures field" \
397 # Some IFS tests
398 check 't="-- "; IFS=" "; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' '0'
399 check 't=" x"; IFS=" x"; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' '1'
400 check 't=" x "; IFS=" x"; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' '1'
401 check 't=axb; IFS="x"; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' \
403 check 't="a x b"; IFS="x"; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' \
405 check 't="a xx b"; IFS="x"; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' \
407 check 't="a xx b"; IFS="x ";set $t; IFS=":"; r="$*"; IFS=; echo $# $r' \
409 # A recent 'clarification' means that a single trailing IFS
411 check 't="xax"; IFS="x"; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' \
413 check 't="xax "; IFS="x "; set $t; IFS=":"; r="$*"; IFS=; echo $# $r' \
415 # Verify that IFS isn't being applied where it shouldn't be.
416 check 'IFS="x"; set axb; IFS=":"; r="$*"; IFS=; echo $# $r' '1 axb'
417 check 'IFS=x; set axb; IFS=:; r=$*; IFS=; echo $# $r' '1 axb'
418 check 'IFS=x; set axb; set -- "$*"; IFS=:; r=$*; IFS=; echo $# $r' \
420 check 'IFS=x; set axb; set -- $* ; IFS=:; r=$*; IFS=; echo $# $r' \
423 check_results ifs
444 # Check that we apply IFS to ${#var}
445 check 'echo ${#long}; IFS=2; echo ${#long}; set 1 ${#long};echo $#' \
447 check 'IFS=2; set ${x-${#long}}; IFS=" "; echo $* $#' '1 8 2'
448 check 'IFS=2; set ${x-"${#long}"}; IFS=" "; echo $* $#' '128 1'
449 check 'IFS=2; set "${x-${#long}}"; IFS=" "; echo $* $#' '128 1'
450 check 'IFS=2; set ${x-${#long}}; : ; echo $* $#' '1 8 '
451 check 'IFS=2; set ${x-${#long}}; : ; echo $* "$#"' '1 8 2'
452 check 'IFS=2; set ${x-${#long}}; : ; echo "$*" "$#"' '128 2'
453 check 'IFS=2; set ${x-${#long}}; : ; echo "$@" "$#"' '1 8 2'
468 # Check that we apply IFS to $(( expr ))
474 check 'IFS=5; echo $(( 123456789 ))' '1234 6789'
475 check 'IFS=5; echo "$(( 123456789 ))"' '123456789'
476 check 'IFS=37; echo $(( 123456789 ))' '12 456 89'
477 check 'IFS=37; echo "$(( 123456789 ))"' '123456789'
478 check 'IFS=159; echo $(( 123456789 ))' ' 234 678'
480 check 'IFS=5; set -- $(( 123456789 )); echo $#: $1 $2 $3 $4' \
482 check 'IFS=5; set -- "$(( 123456789 ))"; echo $#: $1 $2 $3 $4' \
484 check 'IFS=5; set -- "$(( 123456789 ))"; echo "$#: $1 $2 $3 $4"' \
487 check 'IFS=37; set -- $(( 123456789 )); echo $#: $1 $2 $3 $4' \
489 check 'IFS=5; set -- $(( 123456789 )); echo $#: $*' \
491 check 'IFS=47; set -- $(( 123456789 )); echo $#: $*' \
493 check 'IFS=5; set -- $(( 123456789 )); echo "$#: $*"' \
495 check 'IFS=37; set -- $(( 123456789 )); echo "$#: $*"' \
497 check 'IFS=5; set -- $(( 123456789 )); echo $#: $@' \
499 check 'IFS=47; set -- $(( 123456789 )); echo $#: $@' \
501 check 'IFS=5; set -- $(( 123456789 )); echo "$#: $@"' \
503 IFS=37; set -- $(( 123456789 )); echo "$#: $*"' \
506 check 'IFS=1; set -- $(( 1111 )); echo "$#:" $*' '4: '
507 check 'IFS=" 1"; set -- $(( 1231231231 )); echo "$#: $*"' \
509 check 'IFS="1 "; set -- $(( 1231231231 )); echo "$#: $*"' \
512 check 'IFS=5; echo 5$(( 123456789 ))5' '51234 67895'
513 check 'IFS=37; echo 73$(( 123456789 ))37' '7312 456 8937'
514 check 'IFS=159; echo 11$(( 123456789 ))95' '11 234 678 95'
515 check 'IFS="159 "; echo 11$(( 123456789 ))95' '11 234 678 95'
516 check 'IFS="159 "; echo 11$(( 11234567899 ))95' '11 234 678 95'
538 check "unset IFS; printf '%s\n' '${DATA}' | {
543 check "unset IFS; printf '%s\n' '${DATA}' | {
548 check "IFS=; printf '%s\n' '${DATA}' | {
553 check "IFS=' '; printf '%s\n' '${DATA}' | {
558 check "IFS=':'; printf '%s\n' '${DATA}' | {
563 check "IFS=': '; printf '%s\n' '${DATA}' | {
568 check "IFS=': '; printf '%s\n' '${DATA}' | {
573 check "IFS='+'; printf '%s\n' '${DATA}' | {
578 check "IFS=' +'; printf '%s\n' '${DATA}' | {
583 check "IFS='+ '; printf '%s\n' '${DATA}' | {
591 check "IFS='+'; printf '%s\n' '${DATA}' | {
592 IFS=: read a b c d e f g h || printf 'FAIL:%d' \"\$?\" &&
593 printf '<%s>' "'"$IFS" "$a" "$b" "$c" "$d" "$e" "$f" "$g" "$h"; }' \
596 check "IFS='+'; printf '%s\n' '${DATA}' | {
597 IFS= read a b c d e f g h || printf 'FAIL:%d' \"\$?\" &&
598 printf '<%s>' "'"$IFS" "$a" "$b" "$c" "$d" "$e" "$f" "$g" "$h"; }' \
603 check "unset IFS; set -u;
609 check "unset IFS; set -u; printf 'a b c' | {
625 atf_add_test_case ifs