This commit is contained in:
DealsBeam 2025-11-01 12:59:15 +00:00 committed by GitHub
commit 507ede3d5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 0 deletions

View file

@ -0,0 +1,14 @@
import unittest
import os
from unittest.mock import patch
from legendary.lfs.wine_helpers import case_insensitive_file_search
class TestWineHelpers(unittest.TestCase):
@patch('os.path.exists')
def test_case_insensitive_file_search_nonexistent_dir(self, mock_exists):
mock_exists.return_value = False
result = case_insensitive_file_search('/nonexistent/path/to/file.txt')
self.assertIsNone(result)
if __name__ == '__main__':
unittest.main()

View file

@ -25,6 +25,9 @@ def case_insensitive_file_search(path: str) -> str:
Similar to case_insensitive_path_search: Finds a file case-insensitively
Note that this *does* work on Windows, although it's rather pointless
"""
if not os.path.exists(os.path.dirname(path)):
return None
path_parts = os.path.normpath(path).split(os.sep)
# If path_parts[0] is empty, we're on Unix and thus start searching at /
if not path_parts[0]: