sh: Add test for case pattern matching with iso-8859-1 charset.

This also passes on stable/8.
This commit is contained in:
Jilles Tjoelker 2011-06-12 12:27:17 +00:00
parent c5f4fe06fe
commit 477a50a6f6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=223007

View File

@ -0,0 +1,52 @@
# $FreeBSD$
unset LC_ALL
LC_CTYPE=de_DE.ISO8859-1
export LC_CTYPE
c1=e
# o umlaut
c2=$(printf '\366')
# non-break space
c3=$(printf '\240')
c4=$(printf '\240')
# $c2$c3$c4 form one utf-8 character
ok=0
case $c1$c2$c3$c4 in
*) ok=1 ;;
esac
if [ $ok = 0 ]; then
echo wrong at $LINENO
exit 3
fi
case $c1$c2$c3$c4 in
$c1$c2$c3$c4) ;;
*) echo wrong at $LINENO ;;
esac
case $c1$c2$c3$c4 in
"$c1$c2$c3$c4") ;;
*) echo wrong at $LINENO ;;
esac
case $c1$c2$c3$c4 in
????) ;;
*) echo wrong at $LINENO ;;
esac
case $c1$c2$c3$c4 in
[!$c2][!b][!c][!d]) ;;
*) echo wrong at $LINENO ;;
esac
case $c1$c2$c3$c4 in
[$c1][$c2][$c3][$c4]) ;;
*) echo wrong at $LINENO ;;
esac
case $c1$c2$c3$c4 in
["$c1"]["$c2"]["$c3"]["$c4"]) ;;
*) echo wrong at $LINENO ;;
esac