mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-01-22 15:32:16 +01:00
added raw header to hunk
This commit is contained in:
@@ -2,6 +2,18 @@ package sonia.scm.repository.api;
|
||||
|
||||
public interface Hunk extends Iterable<DiffLine> {
|
||||
|
||||
default String getRawHeader() {
|
||||
return String.format("@@ -%s +%s @@", getLineMarker(getOldStart(), getOldLineCount()), getLineMarker(getNewStart(), getNewLineCount()));
|
||||
}
|
||||
|
||||
default String getLineMarker(int start, int lineCount) {
|
||||
if (lineCount == 1) {
|
||||
return Integer.toString(start);
|
||||
} else {
|
||||
return String.format("%s,%s", start, lineCount);
|
||||
}
|
||||
}
|
||||
|
||||
int getOldStart();
|
||||
|
||||
int getOldLineCount();
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
package sonia.scm.repository.api;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class HunkTest {
|
||||
|
||||
@Test
|
||||
void shouldGetComplexHeader() {
|
||||
String rawHeader = createHunk(2, 3, 4, 5).getRawHeader();
|
||||
|
||||
assertThat(rawHeader).isEqualTo("@@ -2,3 +4,5 @@");
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldReturnSingleNumberForOne() {
|
||||
String rawHeader = createHunk(42, 1, 5, 1).getRawHeader();
|
||||
|
||||
assertThat(rawHeader).isEqualTo("@@ -42 +5 @@");
|
||||
}
|
||||
|
||||
private Hunk createHunk(int oldStart, int oldLineCount, int newStart, int newLineCount) {
|
||||
return new Hunk() {
|
||||
@Override
|
||||
public int getOldStart() {
|
||||
return oldStart;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOldLineCount() {
|
||||
return oldLineCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewStart() {
|
||||
return newStart;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNewLineCount() {
|
||||
return newLineCount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<DiffLine> iterator() {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user