git-commit-vandalism/t/t4025-hunk-header.sh
Eric Sunshine efe26b9ee0 tests: simplify by dropping unnecessary for loops
Rather than manually looping over a set of items and plugging those
items into a template string which is printed repeatedly, achieve the
same effect by taking advantage of `printf` which loops over its
arguments automatically.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-12-13 10:29:48 -08:00

40 lines
668 B
Bash
Executable File

#!/bin/sh
test_description='diff hunk header truncation'
TEST_PASSES_SANITIZE_LEAK=true
. ./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" &&
printf " %s\n" B C D E F G H I J K &&
echo "L $NS" &&
printf " %s\n" M N O P Q R S T U V
) >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 expected actual
'
test_done