mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-05 22:55:47 +00:00
diff::binary tests: empty diff when forced binary
Ensure that even when we're forcing a binary diff that we do not assume that there *is* a diff. There should be an empty diff for no change.
This commit is contained in:
parent
76633215d1
commit
ba8fb7c46a
@ -269,6 +269,36 @@ void test_diff_binary__delta_append(void)
|
||||
git_index_free(index);
|
||||
}
|
||||
|
||||
void test_diff_binary__empty_for_no_diff(void)
|
||||
{
|
||||
git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
|
||||
git_oid id;
|
||||
git_commit *commit;
|
||||
git_tree *tree;
|
||||
git_diff *diff;
|
||||
git_buf actual = GIT_BUF_INIT;
|
||||
const char *expected = "";
|
||||
|
||||
opts.flags = GIT_DIFF_SHOW_BINARY | GIT_DIFF_FORCE_BINARY;
|
||||
opts.id_abbrev = GIT_OID_HEXSZ;
|
||||
|
||||
repo = cl_git_sandbox_init("renames");
|
||||
|
||||
cl_git_pass(git_oid_fromstr(&id, "19dd32dfb1520a64e5bbaae8dce6ef423dfa2f13"));
|
||||
cl_git_pass(git_commit_lookup(&commit, repo, &id));
|
||||
cl_git_pass(git_commit_tree(&tree, commit));
|
||||
|
||||
cl_git_pass(git_diff_tree_to_tree(&diff, repo, tree, tree, &opts));
|
||||
cl_git_pass(git_diff_print(diff, GIT_DIFF_FORMAT_PATCH, git_diff_print_callback__to_buf, &actual));
|
||||
|
||||
cl_assert_equal_s("", actual.ptr);
|
||||
|
||||
git_buf_free(&actual);
|
||||
git_diff_free(diff);
|
||||
git_commit_free(commit);
|
||||
git_tree_free(tree);
|
||||
}
|
||||
|
||||
void test_diff_binary__index_to_workdir(void)
|
||||
{
|
||||
git_index *index;
|
||||
|
Loading…
Reference in New Issue
Block a user