baraja-core / baraja-core/simple-php-diff

Difference in last line does not get handled

Đang mở
#7 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.