sh: Add test for case pattern matching with iso-8859-1 charset.
This also passes on stable/8.
This commit is contained in:
parent
c5f4fe06fe
commit
477a50a6f6
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=223007
52
tools/regression/bin/sh/builtins/case6.0
Normal file
52
tools/regression/bin/sh/builtins/case6.0
Normal 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
|
Loading…
Reference in New Issue
Block a user