diff: fix handling of binary rewrite diffs
[git/trast.git] / t / t4031-diff-rewrite-binary.sh
blobe16c35510340228009a95cccddfcc5a0acdf2143
1 #!/bin/sh
3 test_description='rewrite diff on binary file'
5 . ./test-lib.sh
7 # We must be large enough to meet the MINIMUM_BREAK_SIZE
8 # requirement.
9 make_file() {
10 for i in 1 2 3 4 5 6 7 8 9 10
12 for j in 1 2 3 4 5 6 7 8 9
14 for k in 1 2 3 4 5
16 printf "$1\n"
17 done
18 done
19 done >file
22 test_expect_success 'create binary file with changes' '
23 make_file "\\0" &&
24 git add file &&
25 make_file "\\01"
28 test_expect_success 'vanilla diff is binary' '
29 git diff >diff &&
30 grep "Binary files a/file and b/file differ" diff
33 test_expect_success 'rewrite diff is binary' '
34 git diff -B >diff &&
35 grep "dissimilarity index" diff &&
36 grep "Binary files a/file and b/file differ" diff
39 test_expect_success 'rewrite diff can show binary patch' '
40 git diff -B --binary >diff &&
41 grep "dissimilarity index" diff &&
42 grep "GIT binary patch" diff
45 test_done