Blame tests/refs/branches/name.c

Packit ae9e2a
#include "clar_libgit2.h"
Packit ae9e2a
#include "branch.h"
Packit ae9e2a
Packit ae9e2a
static git_repository *repo;
Packit ae9e2a
static git_reference *ref;
Packit ae9e2a
Packit ae9e2a
void test_refs_branches_name__initialize(void)
Packit ae9e2a
{
Packit ae9e2a
	cl_git_pass(git_repository_open(&repo, cl_fixture("testrepo.git")));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_refs_branches_name__cleanup(void)
Packit ae9e2a
{
Packit ae9e2a
	git_reference_free(ref);
Packit ae9e2a
	ref = NULL;
Packit ae9e2a
Packit ae9e2a
	git_repository_free(repo);
Packit ae9e2a
	repo = NULL;
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_refs_branches_name__can_get_local_branch_name(void)
Packit ae9e2a
{
Packit ae9e2a
	const char *name;
Packit ae9e2a
Packit ae9e2a
	cl_git_pass(git_branch_lookup(&ref,repo,"master",GIT_BRANCH_LOCAL));
Packit ae9e2a
	cl_git_pass(git_branch_name(&name,ref));
Packit ae9e2a
	cl_assert_equal_s("master",name);
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_refs_branches_name__can_get_remote_branch_name(void)
Packit ae9e2a
{
Packit ae9e2a
	const char *name;
Packit ae9e2a
Packit ae9e2a
	cl_git_pass(git_branch_lookup(&ref,repo,"test/master",GIT_BRANCH_REMOTE));
Packit ae9e2a
	cl_git_pass(git_branch_name(&name,ref));
Packit ae9e2a
	cl_assert_equal_s("test/master",name);
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_refs_branches_name__error_when_ref_is_no_branch(void)
Packit ae9e2a
{
Packit ae9e2a
	const char *name;
Packit ae9e2a
Packit ae9e2a
	cl_git_pass(git_reference_lookup(&ref,repo,"refs/notes/fanout"));
Packit ae9e2a
	cl_git_fail(git_branch_name(&name,ref));
Packit ae9e2a
}