git p4 test: fix badp4dir test
[gitweb.git] / t / t4012-diff-binary.sh
index ed24ddd88a828408f4edca008b559a70f5749769..6cebb3951bc7f4e9b772efed052c485d82d1a68d 100755 (executable)
@@ -36,6 +36,18 @@ test_expect_success '"apply --stat" output for binary file change' '
        test_i18ncmp expected current
 '
 
+test_expect_success 'diff --shortstat output for binary file change' '
+       echo " 4 files changed, 2 insertions(+), 2 deletions(-)" >expected &&
+       git diff --shortstat >current &&
+       test_i18ncmp expected current
+'
+
+test_expect_success 'diff --shortstat output for binary file change only' '
+       echo " 1 file changed, 0 insertions(+), 0 deletions(-)" >expected &&
+       git diff --shortstat -- b >current &&
+       test_i18ncmp expected current
+'
+
 test_expect_success 'apply --numstat notices binary file change' '
        git diff >diff &&
        git apply --numstat <diff >current &&
@@ -107,4 +119,23 @@ test_expect_success 'diff --no-index with binary creation' '
        test_cmp expected actual
 '
 
+cat >expect <<EOF
+ binfile  |   Bin 0 -> 1026 bytes
+ textfile | 10000 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+EOF
+
+test_expect_success 'diff --stat with binary files and big change count' '
+       echo X | dd of=binfile bs=1k seek=1 &&
+       git add binfile &&
+       i=0 &&
+       while test $i -lt 10000; do
+               echo $i &&
+               i=$(($i + 1))
+       done >textfile &&
+       git add textfile &&
+       git diff --cached --stat binfile textfile >output &&
+       grep " | " output >actual &&
+       test_cmp expect actual
+'
+
 test_done