Merge origin/master

This commit is contained in:
Tobias Warneke
2019-10-20 00:07:38 +02:00
6 changed files with 42 additions and 5 deletions

View File

@@ -88,5 +88,5 @@ or using gradle:
```groovy
// https://mvnrepository.com/artifact/io.github.java-diff-utils/java-diff-utils
compile group: 'io.github.java-diff-utils', name: 'java-diff-utils', version: '4.0'
implementation "io.github.java-diff-utils:java-diff-utils:4.0"
```

View File

@@ -267,9 +267,11 @@ public final class DiffRowGenerator {
}
List<String> normalizeLines(List<String> list) {
return list.stream()
.map(lineNormalizer::apply)
.collect(toList());
return reportLinesUnchanged
? list
: list.stream()
.map(lineNormalizer::apply)
.collect(toList());
}
/**

View File

@@ -78,7 +78,9 @@ public final class UnifiedDiffReader {
headerTxt += line + "\n";
}
}
data.setHeader(headerTxt);
if (!"".equals(headerTxt)) {
data.setHeader(headerTxt);
}
while (line != null) {
if (!CHUNK.validLine(line)) {

View File

@@ -405,4 +405,16 @@ public class DiffRowGeneratorTest {
rows = generator.generateDiffRows(Arrays.asList("\t<"), Arrays.asList("<"));
assertEquals("[[CHANGE, <,<]]", rows.toString());
}
@Test
public void testGenerationIssue44reportLinesUnchangedProblem() throws DiffException {
DiffRowGenerator generator = DiffRowGenerator.create()
.showInlineDiffs(true)
.reportLinesUnchanged(true)
.oldTag(f -> "~~")
.newTag(f -> "**")
.build();
List<DiffRow> rows = generator.generateDiffRows(Arrays.asList("<dt>To do</dt>"), Arrays.asList("<dt>Done</dt>"));
assertEquals("[[CHANGE,<dt>~~T~~o~~ do~~</dt>,<dt>**D**o**ne**</dt>]]", rows.toString());
}
}

View File

@@ -126,4 +126,19 @@ public class UnifiedDiffReaderTest {
assertThat(diff.getTail()).isNull();
}
@Test
public void testParseIssue33() throws IOException {
UnifiedDiff diff = UnifiedDiffReader.parseUnifiedDiff(
UnifiedDiffReaderTest.class.getResourceAsStream("problem_diff_issue33.diff"));
assertThat(diff.getFiles().size()).isEqualTo(1);
UnifiedDiffFile file1 = diff.getFiles().get(0);
assertThat(file1.getFromFile()).isEqualTo("Main.java");
assertThat(file1.getPatch().getDeltas().size()).isEqualTo(1);
assertThat(diff.getTail()).isNull();
assertThat(diff.getHeader()).isNull();
}
}

View File

@@ -0,0 +1,6 @@
--- a/Main.java
+++ b/Main.java
@@ -2,2 +2,3 @@ public class Main {
public static void main(String[] args) {
+ System.out.println("Hello, world!");
}