mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-02 11:35:57 +01:00
Add unit tests
This commit is contained in:
@@ -103,6 +103,22 @@ public class GitDiffResultCommandTest extends AbstractGitCommandTestBase {
|
||||
assertThat(hunk.getNewLineCount()).isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldReturnRenames() throws IOException {
|
||||
DiffResult diffResult = createDiffResult("rename");
|
||||
|
||||
Iterator<DiffFile> fileIterator = diffResult.iterator();
|
||||
DiffFile renameA = fileIterator.next();
|
||||
assertThat(renameA.getOldPath()).isEqualTo("a.txt");
|
||||
assertThat(renameA.getNewPath()).isEqualTo("a-copy.txt");
|
||||
assertThat(renameA.iterator().hasNext()).isFalse();
|
||||
|
||||
DiffFile renameB = fileIterator.next();
|
||||
assertThat(renameB.getOldPath()).isEqualTo("b.txt");
|
||||
assertThat(renameB.getNewPath()).isEqualTo("b-copy.txt");
|
||||
assertThat(renameB.iterator().hasNext()).isFalse();
|
||||
}
|
||||
|
||||
private DiffResult createDiffResult(String s) throws IOException {
|
||||
GitDiffResultCommand gitDiffResultCommand = new GitDiffResultCommand(createContext());
|
||||
DiffCommandRequest diffCommandRequest = new DiffCommandRequest();
|
||||
|
||||
@@ -112,6 +112,15 @@ class GitHunkParserTest {
|
||||
" indent_size = 2\r\r\n" +
|
||||
" charset = utf-8\n";
|
||||
|
||||
private static final String RENAMES = "diff --git a/a.txt b/a-copy.txt\n" +
|
||||
"similarity index 100%\n" +
|
||||
"rename from a.txt\n" +
|
||||
"rename to a-copy.txt\n" +
|
||||
"diff --git a/b.txt b/b-copy.txt\n" +
|
||||
"similarity index 100%\n" +
|
||||
"rename from b.txt\n" +
|
||||
"rename to b-copy.txt";
|
||||
|
||||
@Test
|
||||
void shouldParseHunks() {
|
||||
List<Hunk> hunks = new GitHunkParser().parse(DIFF_001);
|
||||
@@ -210,6 +219,25 @@ class GitHunkParserTest {
|
||||
assertThat(lines.hasNext()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldHandleRenames() {
|
||||
List<Hunk> hunks = new GitHunkParser().parse(RENAMES);
|
||||
|
||||
Hunk hunk = hunks.get(0);
|
||||
hunk.getRawHeader();
|
||||
|
||||
Iterator<DiffLine> lines = hunk.iterator();
|
||||
|
||||
DiffLine line1 = lines.next();
|
||||
assertThat(line1.getOldLineNumber()).hasValue(10);
|
||||
assertThat(line1.getNewLineNumber()).hasValue(10);
|
||||
assertThat(line1.getContent()).isEqualTo("indent_style = space");
|
||||
|
||||
lines.next();
|
||||
lines.next();
|
||||
assertThat(lines.hasNext()).isFalse();
|
||||
}
|
||||
|
||||
private void assertHunk(Hunk hunk, int oldStart, int oldLineCount, int newStart, int newLineCount) {
|
||||
assertThat(hunk.getOldStart()).isEqualTo(oldStart);
|
||||
assertThat(hunk.getOldLineCount()).isEqualTo(oldLineCount);
|
||||
|
||||
Reference in New Issue
Block a user