summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2011-06-16 12:24:02 +0000
committerhrs <hrs@FreeBSD.org>2011-06-16 12:24:02 +0000
commit7afd303ca9e45353e1af220a988ddac723fde355 (patch)
tree356c3cc3903b4ba969f103c2c6ccc21fc748bdaa /tools
parentb2a6f5600367e61c439c79db2317d4619960e2ce (diff)
parentcc8fba8d7c933e32931cfc80150a2ed465e70825 (diff)
downloadFreeBSD-src-7afd303ca9e45353e1af220a988ddac723fde355.zip
FreeBSD-src-7afd303ca9e45353e1af220a988ddac723fde355.tar.gz
Merge from HEAD@222977.
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/bin/sh/builtins/case6.052
-rw-r--r--tools/regression/bin/sh/builtins/case7.024
-rw-r--r--tools/regression/bin/sh/builtins/case8.032
3 files changed, 108 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
diff --git a/tools/regression/bin/sh/builtins/case7.0 b/tools/regression/bin/sh/builtins/case7.0
new file mode 100644
index 0000000..96b9de6
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/case7.0
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+# Character ranges in a locale other than the POSIX locale, not specified
+# by POSIX.
+
+unset LC_ALL
+LC_CTYPE=de_DE.ISO8859-1
+export LC_CTYPE
+LC_COLLATE=de_DE.ISO8859-1
+export LC_COLLATE
+
+c1=e
+# o umlaut
+c2=$(printf '\366')
+
+case $c1$c2 in
+[a-z][a-z]) ;;
+*) echo wrong at $LINENO ;;
+esac
+
+case $c1$c2 in
+[a-f][n-p]) ;;
+*) echo wrong at $LINENO ;;
+esac
diff --git a/tools/regression/bin/sh/builtins/case8.0 b/tools/regression/bin/sh/builtins/case8.0
new file mode 100644
index 0000000..8d9f8b6
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/case8.0
@@ -0,0 +1,32 @@
+# $FreeBSD$
+
+case aZ_ in
+[[:alpha:]_][[:upper:]_][[:alpha:]_]) ;;
+*) echo Failed at $LINENO ;;
+esac
+
+case ' ' in
+[[:alpha:][:digit:]]) echo Failed at $LINENO ;;
+[![:alpha:][:digit:]]) ;;
+*) echo Failed at $LINENO ;;
+esac
+
+case '.X.' in
+*[[:lower:]]*) echo Failed at $LINENO ;;
+*[[:upper:]]*) ;;
+*) echo Failed at $LINENO ;;
+esac
+
+case ' ' in
+[![:print:]]) echo Failed at $LINENO ;;
+[![:alnum:][:punct:]]) ;;
+*) echo Failed at $LINENO ;;
+esac
+
+case '
+' in
+[[:print:]]) echo Failed at $LINENO ;;
+['
+'[:digit:]]) ;;
+*) echo Failed at $LINENO ;;
+esac
OpenPOWER on IntegriCloud