mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-25 23:05:00 +00:00
73 lines
1.5 KiB
Python
73 lines
1.5 KiB
Python
import unittest
|
|
|
|
from aider.coders.udiff_coder import find_diffs
|
|
from aider.dump import dump # noqa: F401
|
|
|
|
|
|
class TestUnifiedDiffCoder(unittest.TestCase):
|
|
def test_find_diffs_single_hunk(self):
|
|
# Test find_diffs with a single hunk
|
|
content = """
|
|
Some text...
|
|
|
|
```diff
|
|
--- file.txt
|
|
+++ file.txt
|
|
@@ ... @@
|
|
-Original
|
|
+Modified
|
|
```
|
|
"""
|
|
edits = find_diffs(content)
|
|
dump(edits)
|
|
self.assertEqual(len(edits), 1)
|
|
|
|
edit = edits[0]
|
|
self.assertEqual(edit[0], "file.txt")
|
|
self.assertEqual(edit[1], ["-Original\n", "+Modified\n"])
|
|
|
|
def test_find_diffs_dev_null(self):
|
|
# Test find_diffs with a single hunk
|
|
content = """
|
|
Some text...
|
|
|
|
```diff
|
|
--- /dev/null
|
|
+++ file.txt
|
|
@@ ... @@
|
|
-Original
|
|
+Modified
|
|
```
|
|
"""
|
|
edits = find_diffs(content)
|
|
dump(edits)
|
|
self.assertEqual(len(edits), 1)
|
|
|
|
edit = edits[0]
|
|
self.assertEqual(edit[0], "file.txt")
|
|
self.assertEqual(edit[1], ["-Original\n", "+Modified\n"])
|
|
|
|
def test_find_diffs_dirname_with_spaces(self):
|
|
# Test find_diffs with a single hunk
|
|
content = """
|
|
Some text...
|
|
|
|
```diff
|
|
--- dir name with spaces/file.txt
|
|
+++ dir name with spaces/file.txt
|
|
@@ ... @@
|
|
-Original
|
|
+Modified
|
|
```
|
|
"""
|
|
edits = find_diffs(content)
|
|
dump(edits)
|
|
self.assertEqual(len(edits), 1)
|
|
|
|
edit = edits[0]
|
|
self.assertEqual(edit[0], "dir name with spaces/file.txt")
|
|
self.assertEqual(edit[1], ["-Original\n", "+Modified\n"])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|