Merge branch 'jk/split-broken-ident'
[gitweb.git] / t / annotate-tests.sh
index b963d3632527db0deffcca2c635a3eb71f12e911..99caa42f5cdc199504d1c5fad442d8f8036e376e 100644 (file)
@@ -185,6 +185,18 @@ test_expect_success 'blame -L Y,X (undocumented)' '
        check_count -L6,3 B 1 B1 1 B2 1 D 1
 '
 
+test_expect_success 'blame -L -X' '
+       test_must_fail $PROG -L-1 file
+'
+
+test_expect_success 'blame -L 0' '
+       test_must_fail $PROG -L0 file
+'
+
+test_expect_success 'blame -L ,0' '
+       test_must_fail $PROG -L,0 file
+'
+
 test_expect_success 'blame -L ,+0' '
        test_must_fail $PROG -L,+0 file
 '
@@ -323,6 +335,23 @@ test_expect_success 'blame -L /RE/ (relative: end-of-file)' '
        test_must_fail $PROG -L, -L/$/ file
 '
 
+test_expect_success 'blame -L ^/RE/ (absolute)' '
+       check_count -L3,3 -L^/dog/,+2 A 1 B2 1
+'
+
+test_expect_success 'blame -L ^/RE/ (absolute: no preceding range)' '
+       check_count -L^/dog/,+2 A 1 B2 1
+'
+
+test_expect_success 'blame -L ^/RE/ (absolute: not found)' '
+       test_must_fail $PROG -L4,4 -L^/tambourine/ file
+'
+
+test_expect_success 'blame -L ^/RE/ (absolute: end-of-file)' '
+       n=$(expr $(wc -l <file) + 1) &&
+       check_count -L$n -L^/$/,+2 A 1 C 1 E 1
+'
+
 test_expect_success 'setup -L :regex' '
        tr Q "\\t" >hello.c <<-\EOF &&
        int main(int argc, const char *argv[])
@@ -365,6 +394,39 @@ test_expect_success 'blame -L :nomatch' '
        test_must_fail $PROG -L:nomatch hello.c
 '
 
+test_expect_success 'blame -L :RE (relative)' '
+       check_count -f hello.c -L3,3 -L:ma.. F 1 H 4
+'
+
+test_expect_success 'blame -L :RE (relative: no preceding range)' '
+       check_count -f hello.c -L:ma.. F 4 G 1
+'
+
+test_expect_success 'blame -L :RE (relative: not found)' '
+       test_must_fail $PROG -L3,3 -L:tambourine hello.c
+'
+
+test_expect_success 'blame -L :RE (relative: end-of-file)' '
+       test_must_fail $PROG -L, -L:main hello.c
+'
+
+test_expect_success 'blame -L ^:RE (absolute)' '
+       check_count -f hello.c -L3,3 -L^:ma.. F 4 G 1
+'
+
+test_expect_success 'blame -L ^:RE (absolute: no preceding range)' '
+       check_count -f hello.c -L^:ma.. F 4 G 1
+'
+
+test_expect_success 'blame -L ^:RE (absolute: not found)' '
+       test_must_fail $PROG -L4,4 -L^:tambourine hello.c
+'
+
+test_expect_success 'blame -L ^:RE (absolute: end-of-file)' '
+       n=$(printf "%d" $(wc -l <hello.c)) &&
+       check_count -f hello.c -L$n -L^:ma.. F 4 G 1 H 1
+'
+
 test_expect_success 'setup incremental' '
        (
        GIT_AUTHOR_NAME=I &&
@@ -385,8 +447,8 @@ 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 0 empty' '
+       test_must_fail $PROG -L0 incremental HEAD^^
 '
 
 test_expect_success 'blame -L 1 empty' '
@@ -401,8 +463,8 @@ 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 0 half' '
+       test_must_fail $PROG -L0 incremental HEAD^
 '
 
 test_expect_success 'blame -L 1 half' '
@@ -421,8 +483,8 @@ 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 0 full' '
+       test_must_fail $PROG -L0 incremental
 '
 
 test_expect_success 'blame -L 1 full' '
@@ -464,3 +526,7 @@ test_expect_success 'blame -L X,+N (non-numeric N)' '
 test_expect_success 'blame -L X,-N (non-numeric N)' '
        test_must_fail $PROG -L1,-N file
 '
+
+test_expect_success 'blame -L ,^/RE/' '
+       test_must_fail $PROG -L1,^/99/ file
+'