diff options
author | Erik Aigner <aigner.erik@gmail.com> | 2019-03-29 12:30:37 +0100 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2019-03-29 12:51:49 +0100 |
commit | 9d65360b4eaa402c8f137684577d0131a861ce8b (patch) | |
tree | 1ec4d0ddc20008ec8d3347c84cda636f722eed43 | |
parent | b3497344fa591c98091bf2d68caed6d7edfa8d01 (diff) | |
download | libgit2-9d65360b4eaa402c8f137684577d0131a861ce8b.tar.gz |
tests: diff: test parsing diffs with a new file with spaces in its path
Add a test that verifies that we are able to parse patches which add a
new file that has spaces in its path.
-rw-r--r-- | tests/diff/parse.c | 18 | ||||
-rw-r--r-- | tests/patch/patch_common.h | 9 |
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/diff/parse.c b/tests/diff/parse.c index 9cdaa92fb..7cc468245 100644 --- a/tests/diff/parse.c +++ b/tests/diff/parse.c @@ -359,3 +359,21 @@ void test_diff_parse__lineinfo(void) git_patch_free(patch); git_diff_free(diff); } + +void test_diff_parse__new_file_with_space(void) +{ + const char *content = PATCH_ORIGINAL_NEW_FILE_WITH_SPACE; + git_patch *patch; + git_diff *diff; + + cl_git_pass(git_diff_from_buffer(&diff, content, strlen(content))); + cl_git_pass(git_patch_from_diff((git_patch **) &patch, diff, 0)); + + cl_assert_equal_p(patch->diff_opts.old_prefix, NULL); + cl_assert_equal_p(patch->delta->old_file.path, NULL); + cl_assert_equal_s(patch->diff_opts.new_prefix, "b/"); + cl_assert_equal_s(patch->delta->new_file.path, "sp ace.txt"); + + git_patch_free(patch); + git_diff_free(diff); +} diff --git a/tests/patch/patch_common.h b/tests/patch/patch_common.h index 3f2668ddc..75aab4453 100644 --- a/tests/patch/patch_common.h +++ b/tests/patch/patch_common.h @@ -841,3 +841,12 @@ "diff --git a/binary.bin b/binary.bin\n" \ "index 27184d9..7c94f9e 100644\n" \ "Binary files a/binary.bin and b/binary.bin differ\n" + +#define PATCH_ORIGINAL_NEW_FILE_WITH_SPACE \ + "diff --git a/sp ace.txt b/sp ace.txt\n" \ + "new file mode 100644\n" \ + "index 000000000..789819226\n" \ + "--- /dev/null\n" \ + "+++ b/sp ace.txt\n" \ + "@@ -0,0 +1 @@\n" \ + "+a\n" |