@@ -1158,27 +1158,58 @@ void test_status_ignore__subdir_ignore_everything_except_certain_files(void)
11581158
11591159void test_status_ignore__deeper (void )
11601160{
1161- int ignored ;
1161+ const char * test_files [] = {
1162+ "empty_standard_repo/foo.data" ,
1163+ "empty_standard_repo/bar.data" ,
1164+ "empty_standard_repo/dont_ignore/foo.data" ,
1165+ "empty_standard_repo/dont_ignore/bar.data" ,
1166+ NULL
1167+ };
11621168
1163- g_repo = cl_git_sandbox_init ("empty_standard_repo" );
1169+ make_test_data ("empty_standard_repo" , test_files );
1170+ cl_git_mkfile ("empty_standard_repo/.gitignore" ,
1171+ "*.data\n"
1172+ "!dont_ignore/*.data\n" );
11641173
1165- cl_git_mkfile ("empty_standard_repo/.gitignore" ,
1166- "*.data\n"
1167- "!dont_ignore/*.data\n" );
1174+ assert_is_ignored ("foo.data" );
1175+ assert_is_ignored ("bar.data" );
11681176
1169- cl_git_pass (p_mkdir ("empty_standard_repo/dont_ignore" , 0777 ));
1170- cl_git_mkfile ("empty_standard_repo/foo.data" , "" );
1171- cl_git_mkfile ("empty_standard_repo/bar.data" , "" );
1172- cl_git_mkfile ("empty_standard_repo/dont_ignore/foo.data" , "" );
1173- cl_git_mkfile ("empty_standard_repo/dont_ignore/bar.data" , "" );
1177+ refute_is_ignored ("dont_ignore/foo.data" );
1178+ refute_is_ignored ("dont_ignore/bar.data" );
1179+ }
11741180
1175- cl_git_pass (git_ignore_path_is_ignored (& ignored , g_repo , "foo.data" ));
1176- cl_assert_equal_i (1 , ignored );
1177- cl_git_pass (git_ignore_path_is_ignored (& ignored , g_repo , "bar.data" ));
1178- cl_assert_equal_i (1 , ignored );
1181+ void test_status_ignore__unignored_dir_with_ignored_contents (void )
1182+ {
1183+ static const char * test_files [] = {
1184+ "empty_standard_repo/dir/a.test" ,
1185+ "empty_standard_repo/dir/subdir/a.test" ,
1186+ NULL
1187+ };
11791188
1180- cl_git_pass (git_ignore_path_is_ignored (& ignored , g_repo , "dont_ignore/foo.data" ));
1181- cl_assert_equal_i (0 , ignored );
1182- cl_git_pass (git_ignore_path_is_ignored (& ignored , g_repo , "dont_ignore/bar.data" ));
1183- cl_assert_equal_i (0 , ignored );
1189+ make_test_data ("empty_standard_repo" , test_files );
1190+ cl_git_mkfile (
1191+ "empty_standard_repo/.gitignore" ,
1192+ "*.test\n"
1193+ "!dir/*\n" );
1194+
1195+ refute_is_ignored ("dir/a.test" );
1196+ assert_is_ignored ("dir/subdir/a.test" );
1197+ }
1198+
1199+ void test_status_ignore__unignored_subdirs (void )
1200+ {
1201+ static const char * test_files [] = {
1202+ "empty_standard_repo/dir/a.test" ,
1203+ "empty_standard_repo/dir/subdir/a.test" ,
1204+ NULL
1205+ };
1206+
1207+ make_test_data ("empty_standard_repo" , test_files );
1208+ cl_git_mkfile (
1209+ "empty_standard_repo/.gitignore" ,
1210+ "dir/*\n"
1211+ "!dir/*/\n" );
1212+
1213+ assert_is_ignored ("dir/a.test" );
1214+ refute_is_ignored ("dir/subdir/a.test" );
11841215}
0 commit comments