diff options
author | jilles <jilles@FreeBSD.org> | 2011-06-12 12:27:17 +0000 |
---|---|---|
committer | jilles <jilles@FreeBSD.org> | 2011-06-12 12:27:17 +0000 |
commit | 5f34a4c1c49bd32e09046627552c249a770ebbce (patch) | |
tree | 6878a3bbe0dd35e441056707f385942d6e03dd62 /tools | |
parent | 01ffb61bd7784f5de579d8f3a1f42dc5b08bb31e (diff) | |
download | FreeBSD-src-5f34a4c1c49bd32e09046627552c249a770ebbce.zip FreeBSD-src-5f34a4c1c49bd32e09046627552c249a770ebbce.tar.gz |
sh: Add test for case pattern matching with iso-8859-1 charset.
This also passes on stable/8.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/regression/bin/sh/builtins/case6.0 | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/builtins/case6.0 b/tools/regression/bin/sh/builtins/case6.0 new file mode 100644 index 0000000..8d79183 --- /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 |