mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
![Junio C Hamano](/assets/img/avatar_default.png)
As a general principle, we should not use "git diff" to validate the results of what git command that is being tested has done. We would not know if we are testing the command in question, or locating a bug in the cute hack of "git diff --no-index". Rather use test_cmp for that purpose. Signed-off-by: Junio C Hamano <gitster@pobox.com>
61 lines
1.3 KiB
Bash
Executable file
61 lines
1.3 KiB
Bash
Executable file
#!/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 --no-index Beer.java Beer-correct.java |
|
|
grep "^@@.*@@ public class Beer"
|
|
'
|
|
|
|
test_expect_success 'preset java pattern' '
|
|
echo "*.java diff=java" >.gitattributes &&
|
|
git diff --no-index 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 --no-index 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 --no-index Beer.java Beer-correct.java
|
|
'
|
|
|
|
test_done
|