Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			93 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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
 |