t4211: retire soon-to-be unimplementable tests
[gitweb.git] / t / annotate-tests.sh
index d4e7f4736f74e58da504a04be3898b0a4078fedb..015acabf30f6fdf11dc6d6a7f2b40f8487f27db6 100644 (file)
@@ -225,10 +225,32 @@ test_expect_success 'blame -L /RE/,-N' '
        check_count -L/99/,-3 B 1 B2 1 D 1
 '
 
+# 'file' ends with an incomplete line, so 'wc' reports one fewer lines than
+# git-blame sees, hence the last line is actually $(wc...)+1.
+test_expect_success 'blame -L X (X == nlines)' '
+       n=$(expr $(wc -l <file) + 1) &&
+       check_count -L$n C 1
+'
+
+test_expect_success 'blame -L X (X == nlines + 1)' '
+       n=$(expr $(wc -l <file) + 2) &&
+       test_must_fail $PROG -L$n file
+'
+
 test_expect_success 'blame -L X (X > nlines)' '
        test_must_fail $PROG -L12345 file
 '
 
+test_expect_success 'blame -L ,Y (Y == nlines)' '
+       n=$(expr $(wc -l <file) + 1) &&
+       check_count -L,$n A 1 B 1 B1 1 B2 1 "A U Thor" 1 C 1 D 1 E 1
+'
+
+test_expect_success 'blame -L ,Y (Y == nlines + 1)' '
+       n=$(expr $(wc -l <file) + 2) &&
+       test_must_fail $PROG -L,$n file
+'
+
 test_expect_success 'blame -L ,Y (Y > nlines)' '
        test_must_fail $PROG -L,12345 file
 '
@@ -275,12 +297,102 @@ test_expect_success 'blame -L :nomatch' '
        test_must_fail $PROG -L:nomatch hello.c
 '
 
-test_expect_success 'blame -L bogus' '
-       test_must_fail $PROG -L file &&
-       test_must_fail $PROG -L1,+ file &&
-       test_must_fail $PROG -L1,- file &&
-       test_must_fail $PROG -LX file &&
-       test_must_fail $PROG -L1,X file &&
-       test_must_fail $PROG -L1,+N file &&
+test_expect_success 'setup incremental' '
+       (
+       GIT_AUTHOR_NAME=I &&
+       export GIT_AUTHOR_NAME &&
+       GIT_AUTHOR_EMAIL=I@test.git &&
+       export GIT_AUTHOR_EMAIL &&
+       >incremental &&
+       git add incremental &&
+       git commit -m "step 0" &&
+       printf "partial" >>incremental &&
+       git commit -a -m "step 0.5" &&
+       echo >>incremental &&
+       git commit -a -m "step 1"
+       )
+'
+
+test_expect_success 'blame empty' '
+       check_count -h HEAD^^ -f incremental
+'
+
+test_expect_success 'blame -L 0 empty (undocumented)' '
+       check_count -h HEAD^^ -f incremental -L0
+'
+
+test_expect_success 'blame -L 1 empty' '
+       test_must_fail $PROG -L1 incremental HEAD^^
+'
+
+test_expect_success 'blame -L 2 empty' '
+       test_must_fail $PROG -L2 incremental HEAD^^
+'
+
+test_expect_success 'blame half' '
+       check_count -h HEAD^ -f incremental I 1
+'
+
+test_expect_success 'blame -L 0 half (undocumented)' '
+       check_count -h HEAD^ -f incremental -L0 I 1
+'
+
+test_expect_success 'blame -L 1 half' '
+       check_count -h HEAD^ -f incremental -L1 I 1
+'
+
+test_expect_success 'blame -L 2 half' '
+       test_must_fail $PROG -L2 incremental HEAD^
+'
+
+test_expect_success 'blame -L 3 half' '
+       test_must_fail $PROG -L3 incremental HEAD^
+'
+
+test_expect_success 'blame full' '
+       check_count -f incremental I 1
+'
+
+test_expect_success 'blame -L 0 full (undocumented)' '
+       check_count -f incremental -L0 I 1
+'
+
+test_expect_success 'blame -L 1 full' '
+       check_count -f incremental -L1 I 1
+'
+
+test_expect_success 'blame -L 2 full' '
+       test_must_fail $PROG -L2 incremental
+'
+
+test_expect_success 'blame -L 3 full' '
+       test_must_fail $PROG -L3 incremental
+'
+
+test_expect_success 'blame -L' '
+       test_must_fail $PROG -L file
+'
+
+test_expect_success 'blame -L X,+' '
+       test_must_fail $PROG -L1,+ file
+'
+
+test_expect_success 'blame -L X,-' '
+       test_must_fail $PROG -L1,- file
+'
+
+test_expect_success 'blame -L X (non-numeric X)' '
+       test_must_fail $PROG -LX file
+'
+
+test_expect_success 'blame -L X,Y (non-numeric Y)' '
+       test_must_fail $PROG -L1,Y file
+'
+
+test_expect_success 'blame -L X,+N (non-numeric N)' '
+       test_must_fail $PROG -L1,+N file
+'
+
+test_expect_success 'blame -L X,-N (non-numeric N)' '
        test_must_fail $PROG -L1,-N file
 '