[PATCH] blame: Add tests for -L/start/,/end/
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
git-pickaxe (later git-blame) gained support for the -L/start/,/end/ form in 2006 (931233bc66 by Junio C Hamano), but nothing was added to test this functionality. Change that by adding more -L tests to t8003-blame.sh. Signed-off-by: Ævar Arnfjörð Bjarmason <redacted> --- t/t8003-blame.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/t/t8003-blame.sh b/t/t8003-blame.sh
index 230143c..2a3e169 100755
--- a/t/t8003-blame.sh
+++ b/t/t8003-blame.sh@@ -175,6 +175,59 @@ test_expect_success 'blame -L with invalid end' ' grep "has only 2 lines" errors ' +for comma in '' ',' +do + # The comma in -L/regex/, is optional + test_expect_success "blame -L/start/$comma" " + git blame -L'/[E]F/$comma' cow >current 2>errors && + ! test -s errors && + head -n 1 current | grep DEF && + tail -n 1 current | grep GHIJK + " +done + +test_expect_success 'blame -L/start/,/end/' ' + git blame -L"/[E]F/,/^X/" cow >current 2>errors && + ! test -s errors && + head -n 1 current | grep DEF && + tail -n 1 current | grep XXXX +' + +test_expect_success 'blame -L/start/,INT' ' + git blame -L"/[C]/,2" cow >current 2>errors && + ! test -s errors && + head -n 1 current | grep ABC && + tail -n 1 current | grep DEF +' + +test_expect_success 'blame -LINT,/end/' ' + git blame -L3,/GH/ cow >current 2>errors && + ! test -s errors && + head -n 1 current | grep XXXX && + tail -n 1 current | grep GHIJK +' + +test_expect_success 'blame -L,/end/' ' + git blame -L",/^X/" cow >current 2>errors && + ! test -s errors && + head -n 1 current | grep ABC && + tail -n 1 current | grep XXXX +' + +test_expect_success 'blame -L/no match/' ' + ! git blame -L/hlagh/ cow >current 2>errors && + grep hlagh errors && + ! test -s current +' + +test_expect_success 'blame -L/invalid regex/' ' + # At least GNU, Solaris and FreeBSD (and by extension, Mac OS X) + # complain about this + ! git blame -L/[b-a]/ cow >current 2>errors && + grep b-a errors && + ! test -s current +' + test_expect_success 'indent of line numbers, nine lines' ' git blame nine_lines >actual && test $(grep -c " " actual) = 0
--
1.7.0.4