mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-30 17:24:59 +00:00
refactor: Extract language test loop into helper method
This commit is contained in:
parent
570e8eae31
commit
a709d650df
1 changed files with 42 additions and 40 deletions
|
@ -323,49 +323,51 @@ class TestRepoMapAllLanguages(unittest.TestCase):
|
||||||
fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages"
|
fixtures_dir = Path(__file__).parent.parent / "fixtures" / "languages"
|
||||||
|
|
||||||
for lang, key_symbol in language_files.items():
|
for lang, key_symbol in language_files.items():
|
||||||
# make the inside of this loop into a helper method ai!
|
self._test_language_repo_map(lang, key_symbol, fixtures_dir)
|
||||||
|
|
||||||
# Get the fixture file path and name based on language
|
def _test_language_repo_map(self, lang, key_symbol, fixtures_dir):
|
||||||
fixture_dir = fixtures_dir / lang
|
"""Helper method to test repo map generation for a specific language."""
|
||||||
ext, key_symbol = language_files[lang]
|
# Get the fixture file path and name based on language
|
||||||
filename = f"test.{ext}"
|
fixture_dir = fixtures_dir / lang
|
||||||
fixture_path = fixture_dir / filename
|
ext, key_symbol = key_symbol
|
||||||
self.assertTrue(
|
filename = f"test.{ext}"
|
||||||
fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}"
|
fixture_path = fixture_dir / filename
|
||||||
|
self.assertTrue(
|
||||||
|
fixture_path.exists(), f"Fixture file missing for {lang}: {fixture_path}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Read the fixture content
|
||||||
|
with open(fixture_path, "r", encoding="utf-8") as f:
|
||||||
|
content = f.read()
|
||||||
|
with GitTemporaryDirectory() as temp_dir:
|
||||||
|
test_file = os.path.join(temp_dir, filename)
|
||||||
|
with open(test_file, "w", encoding="utf-8") as f:
|
||||||
|
f.write(content)
|
||||||
|
|
||||||
|
io = InputOutput()
|
||||||
|
repo_map = RepoMap(main_model=self.GPT35, root=temp_dir, io=io)
|
||||||
|
other_files = [test_file]
|
||||||
|
result = repo_map.get_repo_map([], other_files)
|
||||||
|
dump(lang)
|
||||||
|
dump(result)
|
||||||
|
|
||||||
|
self.assertGreater(len(result.strip().splitlines()), 1)
|
||||||
|
|
||||||
|
# Check if the result contains all the expected files and symbols
|
||||||
|
self.assertIn(
|
||||||
|
filename, result, f"File for language {lang} not found in repo map: {result}"
|
||||||
|
)
|
||||||
|
self.assertIn(
|
||||||
|
key_symbol,
|
||||||
|
result,
|
||||||
|
(
|
||||||
|
f"Key symbol '{key_symbol}' for language {lang} not found in repo map:"
|
||||||
|
f" {result}"
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
# Read the fixture content
|
# close the open cache files, so Windows won't error
|
||||||
with open(fixture_path, "r", encoding="utf-8") as f:
|
del repo_map
|
||||||
content = f.read()
|
|
||||||
with GitTemporaryDirectory() as temp_dir:
|
|
||||||
test_file = os.path.join(temp_dir, filename)
|
|
||||||
with open(test_file, "w", encoding="utf-8") as f:
|
|
||||||
f.write(content)
|
|
||||||
|
|
||||||
io = InputOutput()
|
|
||||||
repo_map = RepoMap(main_model=self.GPT35, root=temp_dir, io=io)
|
|
||||||
other_files = [test_file]
|
|
||||||
result = repo_map.get_repo_map([], other_files)
|
|
||||||
dump(lang)
|
|
||||||
dump(result)
|
|
||||||
|
|
||||||
self.assertGreater(len(result.strip().splitlines()), 1)
|
|
||||||
|
|
||||||
# Check if the result contains all the expected files and symbols
|
|
||||||
self.assertIn(
|
|
||||||
filename, result, f"File for language {lang} not found in repo map: {result}"
|
|
||||||
)
|
|
||||||
self.assertIn(
|
|
||||||
key_symbol,
|
|
||||||
result,
|
|
||||||
(
|
|
||||||
f"Key symbol '{key_symbol}' for language {lang} not found in repo map:"
|
|
||||||
f" {result}"
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
# close the open cache files, so Windows won't error
|
|
||||||
del repo_map
|
|
||||||
|
|
||||||
def test_repo_map_sample_code_base(self):
|
def test_repo_map_sample_code_base(self):
|
||||||
# Path to the sample code base
|
# Path to the sample code base
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue