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

Difference in last line does not get handled

Ouverte
#7 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
PHP
Étoiles
11
Forks
2
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### 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`.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Inspect the implementation of getDiff() and renderDiff(), focusing on how the capture buffer is handled after the final line. Reproduce a difference on the last line and verify that the resulting diff includes it; the issue is done when both methods display that final-line change.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
backend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.