Blame tests/patch/print.c

Packit ae9e2a
#include "clar_libgit2.h"
Packit ae9e2a
#include "patch.h"
Packit ae9e2a
#include "patch_parse.h"
Packit ae9e2a
Packit ae9e2a
#include "patch_common.h"
Packit ae9e2a
Packit ae9e2a
Packit ae9e2a
/* sanity check the round-trip of patch parsing:  ensure that we can parse
Packit ae9e2a
 * and then print a variety of patch files.
Packit ae9e2a
 */
Packit ae9e2a
Packit ae9e2a
void patch_print_from_patchfile(const char *data, size_t len)
Packit ae9e2a
{
Packit ae9e2a
	git_patch *patch;
Packit ae9e2a
	git_buf buf = GIT_BUF_INIT;
Packit ae9e2a
Packit ae9e2a
	cl_git_pass(git_patch_from_buffer(&patch, data, len, NULL));
Packit ae9e2a
	cl_git_pass(git_patch_to_buf(&buf, patch));
Packit ae9e2a
Packit ae9e2a
	cl_assert_equal_s(data, buf.ptr);
Packit ae9e2a
Packit ae9e2a
	git_patch_free(patch);
Packit ae9e2a
	git_buf_free(&buf;;
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__change_middle(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_CHANGE_MIDDLE,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_CHANGE_MIDDLE));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__change_middle_nocontext(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_CHANGE_MIDDLE_NOCONTEXT,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_CHANGE_MIDDLE_NOCONTEXT));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__change_firstline(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_CHANGE_FIRSTLINE,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_CHANGE_FIRSTLINE));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__change_lastline(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_CHANGE_LASTLINE,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_CHANGE_LASTLINE));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__prepend(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_PREPEND,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_PREPEND));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__prepend_nocontext(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_PREPEND_NOCONTEXT,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_PREPEND_NOCONTEXT));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__append(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_APPEND,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_APPEND));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__append_nocontext(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_APPEND_NOCONTEXT,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_APPEND_NOCONTEXT));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__prepend_and_append(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_PREPEND_AND_APPEND,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_PREPEND_AND_APPEND));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__to_empty_file(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ORIGINAL_TO_EMPTY_FILE,
Packit ae9e2a
		strlen(PATCH_ORIGINAL_TO_EMPTY_FILE));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__from_empty_file(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_EMPTY_FILE_TO_ORIGINAL,
Packit ae9e2a
		strlen(PATCH_EMPTY_FILE_TO_ORIGINAL));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__add(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_ADD_ORIGINAL,
Packit ae9e2a
		strlen(PATCH_ADD_ORIGINAL));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__delete(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_DELETE_ORIGINAL,
Packit ae9e2a
		strlen(PATCH_DELETE_ORIGINAL));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__rename_exact(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_RENAME_EXACT,
Packit ae9e2a
		strlen(PATCH_RENAME_EXACT));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__rename_similar(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_RENAME_SIMILAR,
Packit ae9e2a
		strlen(PATCH_RENAME_SIMILAR));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__rename_exact_quotedname(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_RENAME_EXACT_QUOTEDNAME,
Packit ae9e2a
		strlen(PATCH_RENAME_EXACT_QUOTEDNAME));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__rename_similar_quotedname(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_RENAME_SIMILAR_QUOTEDNAME,
Packit ae9e2a
		strlen(PATCH_RENAME_SIMILAR_QUOTEDNAME));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__modechange_unchanged(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_MODECHANGE_UNCHANGED,
Packit ae9e2a
		strlen(PATCH_MODECHANGE_UNCHANGED));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__modechange_modified(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_MODECHANGE_MODIFIED,
Packit ae9e2a
		strlen(PATCH_MODECHANGE_MODIFIED));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__binary_literal(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_BINARY_LITERAL,
Packit ae9e2a
		strlen(PATCH_BINARY_LITERAL));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__binary_delta(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_BINARY_DELTA,
Packit ae9e2a
		strlen(PATCH_BINARY_DELTA));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__binary_add(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_BINARY_ADD,
Packit ae9e2a
		strlen(PATCH_BINARY_ADD));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__binary_delete(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_BINARY_DELETE,
Packit ae9e2a
		strlen(PATCH_BINARY_DELETE));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__not_reversible(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_BINARY_NOT_REVERSIBLE,
Packit ae9e2a
		strlen(PATCH_BINARY_NOT_REVERSIBLE));
Packit ae9e2a
}
Packit ae9e2a
Packit ae9e2a
void test_patch_print__binary_not_shown(void)
Packit ae9e2a
{
Packit ae9e2a
	patch_print_from_patchfile(PATCH_BINARY_NOT_PRINTED,
Packit ae9e2a
		strlen(PATCH_BINARY_NOT_PRINTED));
Packit ae9e2a
}