You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.2 KiB
92 lines
1.2 KiB
#!/bin/sh |
|
|
|
test_description='diff function context' |
|
|
|
. ./test-lib.sh |
|
. "$TEST_DIRECTORY"/diff-lib.sh |
|
|
|
|
|
cat <<\EOF >hello.c |
|
#include <stdio.h> |
|
|
|
static int a(void) |
|
{ |
|
/* |
|
* Dummy. |
|
*/ |
|
} |
|
|
|
static int hello_world(void) |
|
{ |
|
/* Classic. */ |
|
printf("Hello world.\n"); |
|
|
|
/* Success! */ |
|
return 0; |
|
} |
|
static int b(void) |
|
{ |
|
/* |
|
* Dummy, too. |
|
*/ |
|
} |
|
|
|
int main(int argc, char **argv) |
|
{ |
|
a(); |
|
b(); |
|
return hello_world(); |
|
} |
|
EOF |
|
|
|
test_expect_success 'setup' ' |
|
git add hello.c && |
|
test_tick && |
|
git commit -m initial && |
|
|
|
grep -v Classic <hello.c >hello.c.new && |
|
mv hello.c.new hello.c |
|
' |
|
|
|
cat <<\EOF >expected |
|
diff --git a/hello.c b/hello.c |
|
--- a/hello.c |
|
+++ b/hello.c |
|
@@ -10,8 +10,7 @@ static int a(void) |
|
static int hello_world(void) |
|
{ |
|
- /* Classic. */ |
|
printf("Hello world.\n"); |
|
|
|
/* Success! */ |
|
return 0; |
|
} |
|
EOF |
|
|
|
test_expect_success 'diff -U0 -W' ' |
|
git diff -U0 -W >actual && |
|
compare_diff_patch actual expected |
|
' |
|
|
|
cat <<\EOF >expected |
|
diff --git a/hello.c b/hello.c |
|
--- a/hello.c |
|
+++ b/hello.c |
|
@@ -9,9 +9,8 @@ static int a(void) |
|
|
|
static int hello_world(void) |
|
{ |
|
- /* Classic. */ |
|
printf("Hello world.\n"); |
|
|
|
/* Success! */ |
|
return 0; |
|
} |
|
EOF |
|
|
|
test_expect_success 'diff -W' ' |
|
git diff -W >actual && |
|
compare_diff_patch actual expected |
|
' |
|
|
|
test_done
|
|
|