diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-07-07 13:37:32 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-07-07 13:37:32 -0700 |
commit | e3c76dbd0f7531eaed3ca8ec0000f03499839304 (patch) | |
tree | abfeb18cc08e1465390443e12ae7c3d8c7b1cd5b /t | |
parent | 0707a9d6f200bbafc02d13dd7f2c12bb795999f6 (diff) | |
parent | 2c3fa66f3577d1305fb0fac5a181261fb2597859 (diff) | |
download | git-e3c76dbd0f7531eaed3ca8ec0000f03499839304.tar.gz git-e3c76dbd0f7531eaed3ca8ec0000f03499839304.tar.xz |
Merge branch 'jc/diff-mark'
* jc/diff-mark:
diff: honor binariness specified in attributes
Fix configuration syntax to specify customized hunk header patterns.
Per-path attribute based hunk header selection.
Future-proof source for changes in xdemitconf_t
Introduce diff_filespec_is_binary()
Diffstat (limited to 't')
-rw-r--r-- | t/t4018-diff-funcname.sh | 60 | ||||
-rwxr-xr-x | t/t4020-diff-external.sh | 12 |
2 files changed, 72 insertions, 0 deletions
diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh new file mode 100644 index 000000000..f9db81d3a --- /dev/null +++ b/t/t4018-diff-funcname.sh @@ -0,0 +1,60 @@ +#!/bin/sh +# +# Copyright (c) 2007 Johannes E. Schindelin +# + +test_description='Test custom diff function name patterns' + +. ./test-lib.sh + +LF=' +' + +cat > Beer.java << EOF +public class Beer +{ + int special; + public static void main(String args[]) + { + String s=" "; + for(int x = 99; x > 0; x--) + { + System.out.print(x + " bottles of beer on the wall " + + x + " bottles of beer\n" + + "Take one down, pass it around, " + (x - 1) + + " bottles of beer on the wall.\n"); + } + System.out.print("Go to the store, buy some more,\n" + + "99 bottles of beer on the wall.\n"); + } +} +EOF + +sed 's/beer\\/beer,\\/' < Beer.java > Beer-correct.java + +test_expect_success 'default behaviour' ' + git diff Beer.java Beer-correct.java | + grep "^@@.*@@ public class Beer" +' + +test_expect_success 'preset java pattern' ' + echo "*.java diff=java" >.gitattributes && + git diff Beer.java Beer-correct.java | + grep "^@@.*@@ public static void main(" +' + +git config diff.java.funcname '!static +!String +[^ ].*s.*' + +test_expect_success 'custom pattern' ' + git diff Beer.java Beer-correct.java | + grep "^@@.*@@ int special;$" +' + +test_expect_success 'last regexp must not be negated' ' + git config diff.java.funcname "!static" && + ! git diff Beer.java Beer-correct.java +' + +test_done diff --git a/t/t4020-diff-external.sh b/t/t4020-diff-external.sh index f0045cd78..ed3bd5b3f 100755 --- a/t/t4020-diff-external.sh +++ b/t/t4020-diff-external.sh @@ -94,4 +94,16 @@ test_expect_success 'diff attribute should apply only to diff' ' ' +test_expect_success 'no diff with -diff' ' + echo >.gitattributes "file -diff" && + git diff | grep Binary +' + +echo NULZbetweenZwords | tr Z '\0' > file + +test_expect_success 'force diff with "diff"' ' + echo >.gitattributes "file diff" && + git diff | grep -a second +' + test_done |