86 lines
744 B
Plaintext
86 lines
744 B
Plaintext
|
# $FreeBSD$
|
||
|
|
||
|
failures=0
|
||
|
|
||
|
check() {
|
||
|
if ! eval "[ $* ]"; then
|
||
|
echo "Failed: $*"
|
||
|
: $((failures += 1))
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
hi
|
||
|
EOF
|
||
|
)" = hi'
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
${$+hi}
|
||
|
EOF
|
||
|
)" = hi'
|
||
|
|
||
|
unset yy
|
||
|
check '"$(cat <<EOF
|
||
|
${yy-hi}
|
||
|
EOF
|
||
|
)" = hi'
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
${$+hi
|
||
|
there}
|
||
|
EOF
|
||
|
)" = "hi
|
||
|
there"'
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
$((1+1))
|
||
|
EOF
|
||
|
)" = 2'
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
$(echo hi)
|
||
|
EOF
|
||
|
)" = hi'
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
`echo hi`
|
||
|
EOF
|
||
|
)" = hi'
|
||
|
|
||
|
check '"$(cat <<\EOF
|
||
|
${$+hi}
|
||
|
EOF
|
||
|
)" = "\${\$+hi}"'
|
||
|
|
||
|
check '"$(cat <<\EOF
|
||
|
$(
|
||
|
EOF
|
||
|
)" = \$\('
|
||
|
|
||
|
check '"$(cat <<\EOF
|
||
|
`
|
||
|
EOF
|
||
|
)" = \`'
|
||
|
|
||
|
check '"$(cat <<EOF
|
||
|
"
|
||
|
EOF
|
||
|
)" = \"'
|
||
|
|
||
|
check '"$(cat <<\EOF
|
||
|
"
|
||
|
EOF
|
||
|
)" = \"'
|
||
|
|
||
|
check '"$(cat <<esac
|
||
|
'"'"'
|
||
|
esac
|
||
|
)" = "'"'"'"'
|
||
|
|
||
|
check '"$(cat <<\)
|
||
|
'"'"'
|
||
|
)
|
||
|
)" = "'"'"'"'
|
||
|
|
||
|
exit $((failures != 0))
|