summary refs log tree commit diff
path: root/bin/cash/tests/builtins/case9.0
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-01-10 18:48:02 -0500
committerJune McEnroe <june@causal.agency>2019-01-10 18:48:02 -0500
commit935c68573f8e63468723dc2691957637e4e6bcb7 (patch)
tree420e76ad90ffc30fa498ee2cc37009c3b4db794f /bin/cash/tests/builtins/case9.0
parentRemove character NETHACKOPTIONS (diff)
downloadsrc-935c68573f8e63468723dc2691957637e4e6bcb7.tar.gz
src-935c68573f8e63468723dc2691957637e4e6bcb7.zip
Import /usr/src/bin/sh from FreeBSD 12.0-RELEASE
Diffstat (limited to '')
-rw-r--r--bin/cash/tests/builtins/case9.039
1 files changed, 39 insertions, 0 deletions
diff --git a/bin/cash/tests/builtins/case9.0 b/bin/cash/tests/builtins/case9.0
new file mode 100644
index 00000000..c7b05bd8
--- /dev/null
+++ b/bin/cash/tests/builtins/case9.0
@@ -0,0 +1,39 @@
+# $FreeBSD: releng/12.0/bin/sh/tests/builtins/case9.0 223186 2011-06-17 13:03:49Z jilles $
+
+errors=0
+
+f() {
+	result=
+	case $1 in
+	a) result=${result}a ;;
+	b) result=${result}b ;&
+	c) result=${result}c ;&
+	d) result=${result}d ;;
+	e) result=${result}e ;&
+	esac
+}
+
+check() {
+	f "$1"
+	if [ "$result" != "$2" ]; then
+		printf "For %s, expected %s got %s\n" "$1" "$2" "$result"
+		errors=$((errors + 1))
+	fi
+}
+
+check '' ''
+check a a
+check b bcd
+check c cd
+check d d
+check e e
+
+if ! (case 1 in
+	1) false ;&
+	2) true ;;
+esac) then
+	echo "Subshell bad"
+	errors=$((errors + 1))
+fi
+
+exit $((errors != 0))