|  | #!/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 && | 
|  | test_cmp actual expected | 
|  |  | 
|  | ' | 
|  |  | 
|  | test_done |