about summary refs log tree commit diff
path: root/third_party/git/t/chainlint/case.test
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/chainlint/case.test')
-rw-r--r--third_party/git/t/chainlint/case.test23
1 files changed, 23 insertions, 0 deletions
diff --git a/third_party/git/t/chainlint/case.test b/third_party/git/t/chainlint/case.test
new file mode 100644
index 000000000000..5ef6ff7db5ea
--- /dev/null
+++ b/third_party/git/t/chainlint/case.test
@@ -0,0 +1,23 @@
+(
+# LINT: "...)" arms in 'case' not misinterpreted as subshell-closing ")"
+	case "$x" in
+	x) foo ;;
+	*) bar ;;
+	esac &&
+	foobar
+) &&
+(
+# LINT: missing "&&" on 'esac'
+	case "$x" in
+	x) foo ;;
+	*) bar ;;
+	esac
+	foobar
+) &&
+(
+# LINT: "...)" arm in one-liner 'case' not misinterpreted as closing ")"
+	case "$x" in 1) true;; esac &&
+# LINT: same but missing "&&"
+	case "$y" in 2) false;; esac
+	foobar
+)