Blame tests/refs/list.c

Packit ae9e2a
#include "clar_libgit2.h"
Packit ae9e2a
Packit ae9e2a
#include "repository.h"
Packit ae9e2a
#include "git2/reflog.h"
Packit ae9e2a
#include "reflog.h"
Packit ae9e2a
Packit ae9e2a
static git_repository *g_repo;
Packit ae9e2a
Packit ae9e2a
Packit ae9e2a
Packit ae9e2a
void test_refs_list__initialize(void)
Packit ae9e2a
{
Packit ae9e2a
   g_repo = cl_git_sandbox_init("testrepo");
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_refs_list__cleanup(void)
Packit ae9e2a
{
Packit ae9e2a
   cl_git_sandbox_cleanup();
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
Packit ae9e2a
Packit ae9e2a
void test_refs_list__all(void)
Packit ae9e2a
{
Packit ae9e2a
   // try to list all the references in our test repo
Packit ae9e2a
	git_strarray ref_list;
Packit ae9e2a
Packit ae9e2a
	cl_git_pass(git_reference_list(&ref_list, g_repo));
Packit ae9e2a
Packit ae9e2a
	/*{
Packit ae9e2a
		unsigned short i;
Packit ae9e2a
		for (i = 0; i < ref_list.count; ++i)
Packit ae9e2a
			printf("# %s\n", ref_list.strings[i]);
Packit ae9e2a
	}*/
Packit ae9e2a
Packit ae9e2a
	/* We have exactly 12 refs in total if we include the packed ones:
Packit ae9e2a
	 * there is a reference that exists both in the packfile and as
Packit ae9e2a
	 * loose, but we only list it once */
Packit ae9e2a
	cl_assert_equal_i((int)ref_list.count, 17);
Packit ae9e2a
Packit ae9e2a
	git_strarray_free(&ref_list);
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_refs_list__do_not_retrieve_references_which_name_end_with_a_lock_extension(void)
Packit ae9e2a
{
Packit ae9e2a
	git_strarray ref_list;
Packit ae9e2a
Packit ae9e2a
	/* Create a fake locked reference */
Packit ae9e2a
	cl_git_mkfile(
Packit ae9e2a
		"./testrepo/.git/refs/heads/hanwen.lock",
Packit ae9e2a
		"144344043ba4d4a405da03de3844aa829ae8be0e\n");
Packit ae9e2a
Packit ae9e2a
	cl_git_pass(git_reference_list(&ref_list, g_repo));
Packit ae9e2a
	cl_assert_equal_i((int)ref_list.count, 17);
Packit ae9e2a
Packit ae9e2a
	git_strarray_free(&ref_list);
Packit ae9e2a
}