diff options
author | Edward Thomson <ethomson@microsoft.com> | 2015-05-13 10:56:55 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@microsoft.com> | 2015-05-13 10:56:55 -0400 |
commit | 882cc37f8360ef3a3d4dd60621f78375337df25f (patch) | |
tree | 08a40158c32f838c15fd802770115c84a0d02ee0 /tests/attr/ignore.c | |
parent | 34593aaec01ac68f8f5b75a43a5c097db3769fbe (diff) | |
download | libgit2-882cc37f8360ef3a3d4dd60621f78375337df25f.tar.gz |
attr tests: make explicit our dir/file match tests
Diffstat (limited to 'tests/attr/ignore.c')
-rw-r--r-- | tests/attr/ignore.c | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/tests/attr/ignore.c b/tests/attr/ignore.c index a55b12394..27fed2539 100644 --- a/tests/attr/ignore.c +++ b/tests/attr/ignore.c @@ -207,7 +207,6 @@ void test_attr_ignore__gitignore_in_subdir(void) assert_is_ignored(false, "dir1/file"); assert_is_ignored(false, "dir1/dir2/file"); assert_is_ignored(false, "dir1/dir2/dir3/file"); - assert_is_ignored(false, "dir1/dir2/dir3/dir1"); assert_is_ignored(true, "dir1/dir2/dir3/dir1/file"); assert_is_ignored(true, "dir1/dir2/dir3/dir1/subdir/foo"); @@ -217,26 +216,39 @@ void test_attr_ignore__gitignore_in_subdir(void) assert_is_ignored(false, "dir1/file"); assert_is_ignored(false, "dir1/dir2/file"); assert_is_ignored(false, "dir1/dir2/dir3/file"); - assert_is_ignored(false, "dir1/dir2/dir3/dir1"); assert_is_ignored(true, "dir1/dir2/dir3/dir1/file"); assert_is_ignored(true, "dir1/dir2/dir3/dir1/subdir/foo"); } } -void test_attr_ignore__depth_file_not_ignored_when_folder_specified(void) +/* Ensure that files do not match folder cases */ +void test_attr_ignore__dont_ignore_files_for_folder(void) { cl_git_rmfile("attr/.gitignore"); - cl_must_pass(p_mkdir("attr/dir1", 0777)); - cl_must_pass(p_mkdir("attr/dir1/dir2", 0777)); - cl_must_pass(p_mkdir("attr/dir1/dir2/dir3", 0777)); + cl_git_mkfile("attr/dir/.gitignore", "test/\n"); - cl_git_mkfile("attr/dir1/dir2/dir3/.gitignore", "dir1/\n"); + /* Create "test" as a file; ensure it is not ignored. */ + cl_git_mkfile("attr/dir/test", "This is a file."); - assert_is_ignored(false, "dir1/dir2/dir3/dir1"); + assert_is_ignored(false, "dir/test"); + if (cl_repo_get_bool(g_repo, "core.ignorecase")) + assert_is_ignored(false, "dir/TeSt"); - if (cl_repo_get_bool(g_repo, "core.ignorecase")) { - assert_is_ignored(false, "dir1/dir2/dir3/DiR1"); - } -} + /* Create "test" as a directory; ensure it is ignored. */ + cl_git_rmfile("attr/dir/test"); + cl_must_pass(p_mkdir("attr/dir/test", 0777)); + + assert_is_ignored(true, "dir/test"); + if (cl_repo_get_bool(g_repo, "core.ignorecase")) + assert_is_ignored(true, "dir/TeSt"); + /* Remove "test" entirely; ensure it is not ignored. + * (As it doesn't exist, it is not a directory.) + */ + cl_must_pass(p_rmdir("attr/dir/test")); + + assert_is_ignored(false, "dir/test"); + if (cl_repo_get_bool(g_repo, "core.ignorecase")) + assert_is_ignored(false, "dir/TeSt"); +} |