MCPcopy
hub / github.com/Aider-AI/aider / test_skip_duplicate_basename_mentions

Method test_skip_duplicate_basename_mentions

tests/basic/test_coder.py:175–204  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

173 self.assertEqual(coder.abs_fnames, set([str(fname.resolve())]))
174
175 def test_skip_duplicate_basename_mentions(self):
176 with GitTemporaryDirectory():
177 io = InputOutput(pretty=False, yes=True)
178 coder = Coder.create(self.GPT35, None, io)
179
180 # Create files with same basename in different directories
181 fname1 = Path("dir1") / "file.txt"
182 fname2 = Path("dir2") / "file.txt"
183 fname3 = Path("dir3") / "unique.txt"
184
185 for fname in [fname1, fname2, fname3]:
186 fname.parent.mkdir(parents=True, exist_ok=True)
187 fname.touch()
188
189 # Add one file to chat
190 coder.add_rel_fname(str(fname1))
191
192 # Mock get_tracked_files to return all files
193 mock = MagicMock()
194 mock.return_value = set([str(fname1), str(fname2), str(fname3)])
195 coder.repo.get_tracked_files = mock
196
197 # Check that file mentions of a pure basename skips files with duplicate basenames
198 mentioned = coder.get_file_mentions(f"Check {fname2.name} and {fname3}")
199 self.assertEqual(mentioned, {str(fname3)})
200
201 # Add a read-only file with same basename
202 coder.abs_read_only_fnames.add(str(fname2.resolve()))
203 mentioned = coder.get_file_mentions(f"Check {fname1} and {fname3}")
204 self.assertEqual(mentioned, {str(fname3)})
205
206 def test_check_for_file_mentions_read_only(self):
207 with GitTemporaryDirectory():

Callers

nothing calls this directly

Calls 5

InputOutputClass · 0.90
createMethod · 0.80
add_rel_fnameMethod · 0.80
get_file_mentionsMethod · 0.80

Tested by

no test coverage detected