From 42b3442823c45e83ce8eb67607e1b90c3ea7f3af Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Tue, 22 Sep 2015 18:54:10 -0400 Subject: [PATCH] patch_parse: ensure we can parse a patch --- tests/patch/parse.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/patch/parse.c diff --git a/tests/patch/parse.c b/tests/patch/parse.c new file mode 100644 index 000000000..3191c8c3f --- /dev/null +++ b/tests/patch/parse.c @@ -0,0 +1,31 @@ +#include "clar_libgit2.h" + +#include "patch_common.h" + +void test_patch_parse__original_to_change_middle(void) +{ + git_patch *patch; + const git_diff_delta *delta; + char idstr[GIT_OID_HEXSZ+1] = {0}; + + cl_git_pass(git_patch_from_patchfile(&patch, PATCH_ORIGINAL_TO_CHANGE_MIDDLE, strlen(PATCH_ORIGINAL_TO_CHANGE_MIDDLE))); + + cl_assert((delta = git_patch_get_delta(patch)) != NULL); + cl_assert_equal_i(2, delta->nfiles); + + cl_assert_equal_s(delta->old_file.path, "a/file.txt"); + cl_assert(delta->old_file.mode == GIT_FILEMODE_BLOB); + cl_assert_equal_i(7, delta->old_file.id_abbrev); + git_oid_nfmt(idstr, delta->old_file.id_abbrev, &delta->old_file.id); + cl_assert_equal_s(idstr, "9432026"); + cl_assert_equal_i(0, delta->old_file.size); + + cl_assert_equal_s(delta->new_file.path, "b/file.txt"); + cl_assert(delta->new_file.mode == GIT_FILEMODE_BLOB); + cl_assert_equal_i(7, delta->new_file.id_abbrev); + git_oid_nfmt(idstr, delta->new_file.id_abbrev, &delta->new_file.id); + cl_assert_equal_s(idstr, "cd8fd12"); + cl_assert_equal_i(0, delta->new_file.size); + + git_patch_free(patch); +}