sha1-file.c: mark more strings for translation
[gitweb.git] / t / t1401-symbolic-ref.sh
index eec3e90f9c04e9b88ebb8c2ee6f12b96b75bac2b..a4ebb0b65fecfada915209cfbc994a1b8ddce439 100755 (executable)
@@ -65,7 +65,7 @@ reset_to_sane
 test_expect_success 'symbolic-ref fails to delete real ref' '
        echo "fatal: Cannot delete refs/heads/foo, not a symbolic ref" >expect &&
        test_must_fail git symbolic-ref -d refs/heads/foo >actual 2>&1 &&
-       test_path_is_file .git/refs/heads/foo &&
+       git rev-parse --verify refs/heads/foo &&
        test_cmp expect actual
 '
 reset_to_sane
@@ -129,11 +129,35 @@ test_expect_success 'symbolic-ref does not create ref d/f conflicts' '
        test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df
 '
 
-test_expect_success 'symbolic-ref handles existing pointer to invalid name' '
+test_expect_success 'symbolic-ref can overwrite pointer to invalid name' '
+       test_when_finished reset_to_sane &&
        head=$(git rev-parse HEAD) &&
        git symbolic-ref HEAD refs/heads/outer &&
+       test_when_finished "git update-ref -d refs/heads/outer/inner" &&
        git update-ref refs/heads/outer/inner $head &&
        git symbolic-ref HEAD refs/heads/unrelated
 '
 
+test_expect_success 'symbolic-ref can resolve d/f name (EISDIR)' '
+       test_when_finished reset_to_sane &&
+       head=$(git rev-parse HEAD) &&
+       git symbolic-ref HEAD refs/heads/outer/inner &&
+       test_when_finished "git update-ref -d refs/heads/outer" &&
+       git update-ref refs/heads/outer $head &&
+       echo refs/heads/outer/inner >expect &&
+       git symbolic-ref HEAD >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'symbolic-ref can resolve d/f name (ENOTDIR)' '
+       test_when_finished reset_to_sane &&
+       head=$(git rev-parse HEAD) &&
+       git symbolic-ref HEAD refs/heads/outer &&
+       test_when_finished "git update-ref -d refs/heads/outer/inner" &&
+       git update-ref refs/heads/outer/inner $head &&
+       echo refs/heads/outer >expect &&
+       git symbolic-ref HEAD >actual &&
+       test_cmp expect actual
+'
+
 test_done