[PATCH 3/3] Test interaction between diff --check and --exit-code
Make sure that it works as advertised in the man page.
Signed-off-by: Wincent Colaiuta <win@wincent.com>
---
t/t4017-diff-retval.sh | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/t/t4017-diff-retval.sh b/t/t4017-diff-retval.sh
index 6873190..dc0b712 100755
--- a/t/t4017-diff-retval.sh
+++ b/t/t4017-diff-retval.sh
@@ -76,4 +76,33 @@ test_expect_success 'git diff-index --cached HEAD' '
}
'
+test_expect_success '--check --exit-code returns 0 for no difference' '
+
+ git diff --check --exit-code
+
+'
+
+test_expect_success '--check --exit-code returns 1 for a clean difference' '
+
+ echo "good" > a &&
+ git diff --check --exit-code
+ test $? = 1
+
+'
+
+test_expect_success '--check --exit-code returns 3 for a dirty difference' '
+
+ echo "bad " >> a &&
+ git diff --check --exit-code
+ test $? = 3
+
+'
+
+test_expect_success '--check with --no-pager returns 2 for dirty difference' '
+
+ git --no-pager diff --check
+ test $? = 2
+
+'
+
test_done
--
1.5.4.rc0.1099.g76fa0-dirty