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