Eleven tests for various combinations of a long filename and/or big change count and ways to specify widths for diff --stat. --- Tests added in previous version of 'diff --stat: use full terminal width' are extracted into a separate patch. The tests are usefull independently of that patch anyway. changes to tests since v4: - seq is replaced with a while loop for windows compatibility - grep -m 1 is replaced with grep " | " - redirects are made portable - piped output is split into two commands to verify that the first command sucessfully runs to completion t/t4014-format-patch.sh | 101 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 0 deletions(-) diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 6797512..f6ebb51 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -894,4 +894,105 @@ test_expect_success 'format patch ignores color.ui' ' test_cmp expect actual ' +# 120 character name +name=aaaaaaaaaa +name=$name$name$name$name$name$name$name$name$name$name$name$name +test_expect_success 'preparation' " + >\"$name\" && + git add \"$name\" && + git commit -m message && + echo a >\"$name\" && + git commit -m message \"$name\" +" + +cat >expect <<'EOF' + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + +EOF +test_expect_success 'format patch graph width defaults to 80 columns' ' + git format-patch --stat --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + +cat >expect <<'EOF' + ...aaaaaaaaaaaaaaaaaaaaaaaaaa | 1 + +EOF +test_expect_success 'format patch --stat=width with long name' ' + git format-patch --stat=40 --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + +test_expect_success 'format patch --stat-width=width works with long name' ' + git format-patch --stat-width=40 --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + +test_expect_success 'format patch --stat=...,name-width with long name' ' + git format-patch --stat=60,29 --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + +test_expect_success 'format patch --stat-name-width with long name' ' + git format-patch --stat-name-width=29 --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + +test_expect_success 'preparation' ' + >abcd && + git add abcd && + git commit -m message && + i=0 && + while test $i -lt 1000; do + echo $i && + i=$(($i + 1)) + done >abcd && + git commit -m message abcd +' + +cat >expect <<'EOF' + abcd | 1000 ++++++++++++++++++++++++++++++++++++++++ +EOF +test_expect_success 'format patch graph part width is 40 columns' ' + git format-patch --stat --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + +test_expect_success 'format patch ignores COLUMNS' ' + COLUMNS=200 git format-patch --stat --stdout -1 >output + grep " | " output >actual && + test_cmp expect actual +' + +cat >expect <<'EOF' + abcd | 1000 ++++++++++++++++++++++++++ +EOF +test_expect_success 'format patch --stat=width with big change' ' + git format-patch --stat=40 --stdout -1 >output + grep " | " output >actual && + test_cmp expect actual +' + +test_expect_success 'format patch --stat-width=width with big change' ' + git format-patch --stat-width=40 --stdout -1 >output + grep " | " output >actual && + test_cmp expect actual +' + +cat >expect <<'EOF' + ...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 1000 ++++++++++++ +EOF +test_expect_success 'format patch --stat=width with big change and long name' ' + cp abcd aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa && + git add aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa && + git commit -m message && + git format-patch --stat-width=60 --stdout -1 >output && + grep " | " output >actual && + test_cmp expect actual +' + test_done -- 1.7.9.5.g91d5 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html