mirror of
https://git.proxmox.com/git/libgit2
synced 2026-01-07 06:18:08 +00:00
Add more test coverage to match default git behavior for files containing brackets
This commit is contained in:
parent
151446ca60
commit
e5e71f5e1d
@ -523,8 +523,10 @@ void test_status_worktree__bracket_in_filename(void)
|
||||
git_index *index;
|
||||
status_entry_single result;
|
||||
unsigned int status_flags;
|
||||
int error;
|
||||
|
||||
#define FILE_WITH_BRACKET "LICENSE[1].md"
|
||||
#define FILE_WITHOUT_BRACKET "LICENSE1.md"
|
||||
|
||||
cl_git_pass(git_repository_init(&repo, "with_bracket", 0));
|
||||
cl_git_mkfile("with_bracket/" FILE_WITH_BRACKET, "I have a bracket in my name\n");
|
||||
@ -536,7 +538,7 @@ void test_status_worktree__bracket_in_filename(void)
|
||||
cl_assert_equal_i(1, result.count);
|
||||
cl_assert(result.status == GIT_STATUS_WT_NEW);
|
||||
|
||||
cl_git_pass(git_status_file(&status_flags, repo, "LICENSE[1].md"));
|
||||
cl_git_pass(git_status_file(&status_flags, repo, FILE_WITH_BRACKET));
|
||||
cl_assert(status_flags == GIT_STATUS_WT_NEW);
|
||||
|
||||
/* ignore the file */
|
||||
@ -577,6 +579,20 @@ void test_status_worktree__bracket_in_filename(void)
|
||||
cl_git_pass(git_status_file(&status_flags, repo, FILE_WITH_BRACKET));
|
||||
cl_assert(status_flags == GIT_STATUS_INDEX_NEW);
|
||||
|
||||
/* Create file without bracket */
|
||||
|
||||
cl_git_mkfile("with_bracket/" FILE_WITHOUT_BRACKET, "I have no bracket in my name!\n");
|
||||
|
||||
cl_git_pass(git_status_file(&status_flags, repo, FILE_WITHOUT_BRACKET));
|
||||
cl_assert(status_flags == GIT_STATUS_WT_NEW);
|
||||
|
||||
cl_git_pass(git_status_file(&status_flags, repo, "LICENSE\\[1\\].md"));
|
||||
cl_assert(status_flags == GIT_STATUS_INDEX_NEW);
|
||||
|
||||
error = git_status_file(&status_flags, repo, FILE_WITH_BRACKET);
|
||||
cl_git_fail(error);
|
||||
cl_assert(error == GIT_EAMBIGUOUS);
|
||||
|
||||
git_index_free(index);
|
||||
git_repository_free(repo);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user