From d788499a102b8b5b02f5d64a6f9bf5c5a7bdb5e3 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Fri, 22 Feb 2013 15:02:37 +0100 Subject: [PATCH] ignore: enhance git_ignore_path_is_ignored() test coverage --- tests-clar/attr/ignore.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 tests-clar/attr/ignore.c diff --git a/tests-clar/attr/ignore.c b/tests-clar/attr/ignore.c new file mode 100644 index 000000000..943eafe69 --- /dev/null +++ b/tests-clar/attr/ignore.c @@ -0,0 +1,32 @@ +#include "clar_libgit2.h" + +static git_repository *g_repo = NULL; + +void test_attr_ignore__initialize(void) +{ + g_repo = cl_git_sandbox_init("attr"); +} + +void test_attr_ignore__cleanup(void) +{ + cl_git_sandbox_cleanup(); + g_repo = NULL; +} + +void assert_is_ignored(bool expected, const char *filepath) +{ + int is_ignored; + + cl_git_pass(git_ignore_path_is_ignored(&is_ignored, g_repo, filepath)); + cl_assert_equal_i(expected, is_ignored == 1); +} + +void test_attr_ignore__honor_temporary_rules(void) +{ + cl_git_rewritefile("attr/.gitignore", "/NewFolder\n/NewFolder/NewFolder"); + + assert_is_ignored(false, "File.txt"); + assert_is_ignored(true, "NewFolder"); + assert_is_ignored(true, "NewFolder/NewFolder"); + assert_is_ignored(true, "NewFolder/NewFolder/File.txt"); +}