Blame tests/blame/getters.c

Packit Service 20376f
#include "clar_libgit2.h"
Packit Service 20376f
Packit Service 20376f
#include "blame.h"
Packit Service 20376f
Packit Service 20376f
git_blame *g_blame;
Packit Service 20376f
Packit Service 20376f
void test_blame_getters__initialize(void)
Packit Service 20376f
{
Packit Service 20376f
	size_t i;
Packit Service 20376f
	git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
Packit Service 20376f
Packit Service 20376f
	git_blame_hunk hunks[] = {
Packit Service 20376f
		{ 3, {{0}},  1, NULL, {{0}}, "a", 0},
Packit Service 20376f
		{ 3, {{0}},  4, NULL, {{0}}, "b", 0},
Packit Service 20376f
		{ 3, {{0}},  7, NULL, {{0}}, "c", 0},
Packit Service 20376f
		{ 3, {{0}}, 10, NULL, {{0}}, "d", 0},
Packit Service 20376f
		{ 3, {{0}}, 13, NULL, {{0}}, "e", 0},
Packit Service 20376f
	};
Packit Service 20376f
Packit Service 20376f
	g_blame = git_blame__alloc(NULL, opts, "");
Packit Service 20376f
Packit Service 20376f
	for (i=0; i<5; i++) {
Packit Service 20376f
		git_blame_hunk *h = git__calloc(1, sizeof(git_blame_hunk));
Packit Service 20376f
		h->final_start_line_number = hunks[i].final_start_line_number;
Packit Service 20376f
		h->orig_path = git__strdup(hunks[i].orig_path);
Packit Service 20376f
		h->lines_in_hunk = hunks[i].lines_in_hunk;
Packit Service 20376f
Packit Service 20376f
		git_vector_insert(&g_blame->hunks, h);
Packit Service 20376f
	}
Packit Service 20376f
}
Packit Service 20376f
Packit Service 20376f
void test_blame_getters__cleanup(void)
Packit Service 20376f
{
Packit Service 20376f
	git_blame_free(g_blame);
Packit Service 20376f
}
Packit Service 20376f
Packit Service 20376f
Packit Service 20376f
void test_blame_getters__byindex(void)
Packit Service 20376f
{
Packit Service 20376f
	const git_blame_hunk *h = git_blame_get_hunk_byindex(g_blame, 2);
Packit Service 20376f
	cl_assert(h);
Packit Service 20376f
	cl_assert_equal_s(h->orig_path, "c");
Packit Service 20376f
Packit Service 20376f
	h = git_blame_get_hunk_byindex(g_blame, 95);
Packit Service 20376f
	cl_assert_equal_p(h, NULL);
Packit Service 20376f
}
Packit Service 20376f
Packit Service 20376f
void test_blame_getters__byline(void)
Packit Service 20376f
{
Packit Service 20376f
	const git_blame_hunk *h = git_blame_get_hunk_byline(g_blame, 5);
Packit Service 20376f
	cl_assert(h);
Packit Service 20376f
	cl_assert_equal_s(h->orig_path, "b");
Packit Service 20376f
Packit Service 20376f
	h = git_blame_get_hunk_byline(g_blame, 95);
Packit Service 20376f
	cl_assert_equal_p(h, NULL);
Packit Service 20376f
}