baraja-core / baraja-core/simple-php-diff
Difference in last line does not get handled
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- PHP
- Star
- 11
- Fork
- 2
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Bug Description
See title.
getChangedLines() does return the correct line numbers.
Steps To Reproduce
Put a difference in the last line.
Expected Behavior
The change in the last line should be displayed when calling getDiff() or renderDiff().
Possible Solution
$captureLine only gets pushed onto $return when a line is equal. When the last line is reached and differs, the for loop is already ending and the capture buffer is not checked anymore.
Seems to work when putting a copy of the if ($captureBuffer !== []) block before the return.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Kiểm tra triển khai của getDiff() và renderDiff(), tập trung vào cách bộ đệm capture được xử lý sau dòng cuối cùng. Tái hiện một khác biệt ở dòng cuối cùng và xác minh rằng diff kết quả có chứa khác biệt đó; vấn đề được hoàn tất khi cả hai phương thức đều hiển thị thay đổi ở dòng cuối cùng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- php
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100