diff options
| author | Vicent Martà <vicent@github.com> | 2012-10-22 10:51:43 -0700 |
|---|---|---|
| committer | Vicent Martà <vicent@github.com> | 2012-10-22 10:51:43 -0700 |
| commit | 40846f3d9ade6a6b83cb894e76187c967500cae8 (patch) | |
| tree | 49400475a2f7a2290e14a9e0a4b6e96121ee6fdf /tests-clar/refs/branches/delete.c | |
| parent | 0e19840800eb90de2b8673eb8baee75037df1b9b (diff) | |
| parent | f36fb761dce7c0f6c6924d9ce30c9cad72dc1318 (diff) | |
| download | libgit2-40846f3d9ade6a6b83cb894e76187c967500cae8.tar.gz | |
Merge pull request #1004 from nulltoken/error/GIT_EORPHANEDHEAD
More orphaned head love
Diffstat (limited to 'tests-clar/refs/branches/delete.c')
| -rw-r--r-- | tests-clar/refs/branches/delete.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tests-clar/refs/branches/delete.c b/tests-clar/refs/branches/delete.c index 99af44ef4..4e9c70904 100644 --- a/tests-clar/refs/branches/delete.c +++ b/tests-clar/refs/branches/delete.c @@ -1,5 +1,6 @@ #include "clar_libgit2.h" #include "refs.h" +#include "repo/repo_helpers.h" static git_repository *repo; static git_reference *fake_remote; @@ -52,11 +53,9 @@ void test_refs_branches_delete__can_delete_a_branch_even_if_HEAD_is_missing(void void test_refs_branches_delete__can_delete_a_branch_when_HEAD_is_orphaned(void) { - git_reference *head; git_reference *branch; - cl_git_pass(git_reference_create_symbolic(&head, repo, GIT_HEAD_FILE, "refs/heads/hide/and/seek", 1)); - git_reference_free(head); + make_head_orphaned(repo, NON_EXISTING_HEAD); cl_git_pass(git_branch_lookup(&branch, repo, "br2", GIT_BRANCH_LOCAL)); cl_git_pass(git_branch_delete(branch)); @@ -64,13 +63,15 @@ void test_refs_branches_delete__can_delete_a_branch_when_HEAD_is_orphaned(void) void test_refs_branches_delete__can_delete_a_branch_pointed_at_by_detached_HEAD(void) { - git_reference *master, *head, *branch; + git_reference *head, *branch; - /* Detach HEAD and make it target the commit that "master" points to */ - cl_git_pass(git_reference_lookup(&master, repo, "refs/heads/master")); - cl_git_pass(git_reference_create_oid(&head, repo, "HEAD", git_reference_oid(master), 1)); + cl_git_pass(git_reference_lookup(&head, repo, GIT_HEAD_FILE)); + cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head)); + cl_assert_equal_s("refs/heads/master", git_reference_target(head)); git_reference_free(head); - git_reference_free(master); + + /* Detach HEAD and make it target the commit that "master" points to */ + git_repository_detach_head(repo); cl_git_pass(git_branch_lookup(&branch, repo, "master", GIT_BRANCH_LOCAL)); cl_git_pass(git_branch_delete(branch)); @@ -89,4 +90,3 @@ void test_refs_branches_delete__can_delete_a_remote_branch(void) cl_git_pass(git_branch_lookup(&branch, repo, "nulltoken/master", GIT_BRANCH_REMOTE)); cl_git_pass(git_branch_delete(branch)); } - |
