summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@microsoft.com>2015-05-13 10:56:55 -0400
committerEdward Thomson <ethomson@microsoft.com>2015-05-13 10:56:55 -0400
commit882cc37f8360ef3a3d4dd60621f78375337df25f (patch)
tree08a40158c32f838c15fd802770115c84a0d02ee0
parent34593aaec01ac68f8f5b75a43a5c097db3769fbe (diff)
downloadlibgit2-882cc37f8360ef3a3d4dd60621f78375337df25f.tar.gz
attr tests: make explicit our dir/file match tests
-rw-r--r--tests/attr/ignore.c36
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");
+}