mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-22 13:25:00 +00:00
feat: add test for handling read-only files in cmd_add
This commit is contained in:
parent
9700bb68d9
commit
e84418f048
1 changed files with 32 additions and 0 deletions
|
@ -537,6 +537,38 @@ class TestCommands(TestCase):
|
|||
commands.cmd_add("file.txt")
|
||||
self.assertEqual(coder.abs_fnames, set())
|
||||
|
||||
def test_cmd_add_read_only_file(self):
|
||||
# Initialize the Commands and InputOutput objects
|
||||
io = InputOutput(pretty=False, yes=True)
|
||||
from aider.coders import Coder
|
||||
|
||||
coder = Coder.create(self.GPT35, None, io)
|
||||
commands = Commands(io, coder)
|
||||
|
||||
# Create a test file
|
||||
test_file = Path("test_read_only.txt")
|
||||
test_file.write_text("Test content")
|
||||
|
||||
# Add the file as read-only
|
||||
commands.cmd_read(str(test_file))
|
||||
|
||||
# Verify it's in abs_read_only_fnames
|
||||
self.assertTrue(any(os.path.samefile(str(test_file.resolve()), fname) for fname in coder.abs_read_only_fnames))
|
||||
|
||||
# Mock the repo to simulate a tracked file
|
||||
coder.repo = mock.MagicMock()
|
||||
coder.repo.is_tracked_file.return_value = True
|
||||
|
||||
# Try to add the read-only file
|
||||
commands.cmd_add(str(test_file))
|
||||
|
||||
# Verify it's now in abs_fnames and not in abs_read_only_fnames
|
||||
self.assertTrue(any(os.path.samefile(str(test_file.resolve()), fname) for fname in coder.abs_fnames))
|
||||
self.assertFalse(any(os.path.samefile(str(test_file.resolve()), fname) for fname in coder.abs_read_only_fnames))
|
||||
|
||||
# Clean up
|
||||
test_file.unlink()
|
||||
|
||||
def test_cmd_test_unbound_local_error(self):
|
||||
with ChdirTemporaryDirectory():
|
||||
io = InputOutput(pretty=False, yes=False)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue