Merge pull request #1239 from ozapinq/main

This commit is contained in:
paul-gauthier 2024-08-30 07:35:46 -07:00 committed by GitHub
commit f9d008cd1c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 45 additions and 1 deletions

View file

@ -442,7 +442,14 @@ def find_original_update_blocks(content, fence=DEFAULT_FENCE, valid_fnames=None)
# Check for SEARCH/REPLACE blocks
if line.strip() == HEAD:
try:
filename = find_filename(lines[max(0, i - 3) : i], fence, valid_fnames)
# if next line after HEAD exists and is DIVIDER, it's a new file
if i + 1 < len(lines) and lines[i + 1].strip() == DIVIDER:
filename = find_filename(lines[max(0, i - 3) : i], fence, None)
else:
filename = find_filename(
lines[max(0, i - 3) : i], fence, valid_fnames
)
if not filename:
if current_filename:
filename = current_filename

View file

@ -456,6 +456,43 @@ Hope you like it!
],
)
def test_new_file_created_in_same_folder(self):
edit = """
Here's the change:
path/to/a/file2.txt
```python
<<<<<<< SEARCH
=======
three
>>>>>>> REPLACE
```
another change
path/to/a/file1.txt
```python
<<<<<<< SEARCH
one
=======
two
>>>>>>> REPLACE
```
Hope you like it!
"""
edits = list(
eb.find_original_update_blocks(edit, valid_fnames=["path/to/a/file1.txt"])
)
self.assertEqual(
edits,
[
("path/to/a/file2.txt", "", "three\n"),
("path/to/a/file1.txt", "one\n", "two\n"),
],
)
if __name__ == "__main__":
unittest.main()