From 477a50a6f63ff6ad18ce5d7382d8d45d639465cc Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sun, 12 Jun 2011 12:27:17 +0000 Subject: [PATCH] sh: Add test for case pattern matching with iso-8859-1 charset. This also passes on stable/8. --- tools/regression/bin/sh/builtins/case6.0 | 52 ++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tools/regression/bin/sh/builtins/case6.0 diff --git a/tools/regression/bin/sh/builtins/case6.0 b/tools/regression/bin/sh/builtins/case6.0 new file mode 100644 index 000000000000..8d791831c3d8 --- /dev/null +++ b/tools/regression/bin/sh/builtins/case6.0 @@ -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