Code

Add some tests for git update-ref -d
authorKarl Hasselström <kha@treskal.com>
Sun, 25 May 2008 16:14:29 +0000 (18:14 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 28 May 2008 03:56:22 +0000 (20:56 -0700)
Signed-off-by: Karl Hasselström <kha@treskal.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1400-update-ref.sh

index 78cd41245b301e731dc0fdd0066b3d3bac4f5405..b8b7ab410354b01584092802365f4b53cd991b4a 100755 (executable)
@@ -32,6 +32,14 @@ test_expect_success \
        "create $m" \
        "git update-ref $m $B $A &&
         test $B"' = $(cat .git/'"$m"')'
+test_expect_success "fail to delete $m with stale ref" '
+       test_must_fail git update-ref -d $m $A &&
+       test $B = "$(cat .git/$m)"
+'
+test_expect_success "delete $m" '
+       git update-ref -d $m $B &&
+       ! test -f .git/$m
+'
 rm -f .git/$m
 
 test_expect_success \
@@ -49,6 +57,14 @@ test_expect_success \
        "create $m (by HEAD)" \
        "git update-ref HEAD $B $A &&
         test $B"' = $(cat .git/'"$m"')'
+test_expect_success "fail to delete $m (by HEAD) with stale ref" '
+       test_must_fail git update-ref -d HEAD $A &&
+       test $B = $(cat .git/$m)
+'
+test_expect_success "delete $m (by HEAD)" '
+       git update-ref -d HEAD $B &&
+       ! test -f .git/$m
+'
 rm -f .git/$m
 
 test_expect_success '(not) create HEAD with old sha1' "