@@ -1384,3 +1384,30 @@ def test_clone_from_command_injection(self, rw_repo):
13841384 rw_repo .clone_from (payload , temp_repo .common_dir )
13851385
13861386 assert not unexpected_file .exists ()
1387+
1388+ def test_ignored_items_reported (self ):
1389+ with tempfile .TemporaryDirectory () as tdir :
1390+ tmp_dir = pathlib .Path (tdir )
1391+ temp_repo = Repo .init (tmp_dir / "repo" )
1392+
1393+ gi = tmp_dir / "repo" / ".gitignore"
1394+
1395+ with open (gi , 'w' ) as file :
1396+ file .write ('ignored_file.txt\n ' )
1397+ file .write ('ignored_dir/\n ' )
1398+
1399+ assert temp_repo .ignored (['included_file.txt' , 'included_dir/file.txt' ]) == []
1400+ assert temp_repo .ignored (['ignored_file.txt' ]) == ['ignored_file.txt' ]
1401+ assert temp_repo .ignored (['included_file.txt' , 'ignored_file.txt' ]) == ['ignored_file.txt' ]
1402+ assert temp_repo .ignored (['included_file.txt' , 'ignored_file.txt' , 'included_dir/file.txt' , 'ignored_dir/file.txt' ]) == ['ignored_file.txt' , 'ignored_dir/file.txt' ]
1403+
1404+ def test_ignored_raises_error_w_symlink (self ):
1405+ with tempfile .TemporaryDirectory () as tdir :
1406+ tmp_dir = pathlib .Path (tdir )
1407+ temp_repo = Repo .init (tmp_dir / "repo" )
1408+
1409+ os .mkdir (tmp_dir / "target" )
1410+ os .symlink (tmp_dir / "target" , tmp_dir / "symlink" )
1411+
1412+ with pytest .raises (GitCommandError ):
1413+ temp_repo .ignored (tmp_dir / "symlink/file.txt" )
0 commit comments