# first try some invalid patterns (do in subshell due to parsing error)
"$THIS_SH" -c 'echo ${+}  ; echo moo'
"$THIS_SH" -c 'echo ${:+} ; echo moo'

# now some funky ones. (bash doesn't accept ${#+})
echo _${#+}_ _${#:+}_

# now some valid ones
set --
echo _$1 _${1+} _${1:+} _${1+word} _${1:+word}

set -- aaaa
echo _$1 _${1+} _${1:+} _${1+word} _${1:+word}

unset f
echo _$f _${f+} _${f:+} _${f+word} _${f:+word}

f=
echo _$f _${f+} _${f:+} _${f+word} _${f:+word}

f=fff
echo _$f _${f+} _${f:+} _${f+word} _${f:+word}