summaryrefslogtreecommitdiff
path: root/t/t4025-hunk-header.sh
blob: 9ba06b74ce1a68c49ca76be66743a0c8ebd56cb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh

test_description='diff hunk header truncation'

. ./test-lib.sh

N='日本語'
N1='日'
N2='日本'
NS="$N$N$N$N$N$N$N$N$N$N$N$N$N"

test_expect_success setup '

	(
		echo "A $NS"
		for c in B C D E F G H I J K
		do
			echo "  $c"
		done
		echo "L  $NS"
		for c in M N O P Q R S T U V
		do
			echo "  $c"
		done
	) >file &&
	git add file &&

	sed -e "/^  [EP]/s/$/ modified/" <file >file+ &&
	mv file+ file

'

test_expect_success 'hunk header truncation with an overly long line' '

	git diff | sed -n -e "s/^.*@@//p" >actual &&
	(
		echo " A $N$N$N$N$N$N$N$N$N2"
		echo " L  $N$N$N$N$N$N$N$N$N1"
	) >expected &&
	diff -u actual expected

'

test_done