Skip to content

Commit 17eced9

Browse files
committed
Merge origin/master
2 parents c534eba + 156f4f2 commit 17eced9

File tree

6 files changed

+42
-5
lines changed

6 files changed

+42
-5
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,5 @@ or using gradle:
8888

8989
```groovy
9090
// https://mvnrepository.com/artifact/io.github.java-diff-utils/java-diff-utils
91-
compile group: 'io.github.java-diff-utils', name: 'java-diff-utils', version: '4.0'
91+
implementation "io.github.java-diff-utils:java-diff-utils:4.0"
9292
```

src/main/java/com/github/difflib/text/DiffRowGenerator.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,9 +267,11 @@ private DiffRow buildDiffRowWithoutNormalizing(Tag type, String orgline, String
267267
}
268268

269269
List<String> normalizeLines(List<String> list) {
270-
return list.stream()
271-
.map(lineNormalizer::apply)
272-
.collect(toList());
270+
return reportLinesUnchanged
271+
? list
272+
: list.stream()
273+
.map(lineNormalizer::apply)
274+
.collect(toList());
273275
}
274276

275277
/**

src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ private UnifiedDiff parse() throws IOException, UnifiedDiffParserException {
7878
headerTxt += line + "\n";
7979
}
8080
}
81-
data.setHeader(headerTxt);
81+
if (!"".equals(headerTxt)) {
82+
data.setHeader(headerTxt);
83+
}
8284

8385
while (line != null) {
8486
if (!CHUNK.validLine(line)) {

src/test/java/com/github/difflib/text/DiffRowGeneratorTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,4 +405,16 @@ public void testGeneratorIssue41UserNormalizer() throws DiffException {
405405
rows = generator.generateDiffRows(Arrays.asList("\t<"), Arrays.asList("<"));
406406
assertEquals("[[CHANGE, <,<]]", rows.toString());
407407
}
408+
409+
@Test
410+
public void testGenerationIssue44reportLinesUnchangedProblem() throws DiffException {
411+
DiffRowGenerator generator = DiffRowGenerator.create()
412+
.showInlineDiffs(true)
413+
.reportLinesUnchanged(true)
414+
.oldTag(f -> "~~")
415+
.newTag(f -> "**")
416+
.build();
417+
List<DiffRow> rows = generator.generateDiffRows(Arrays.asList("<dt>To do</dt>"), Arrays.asList("<dt>Done</dt>"));
418+
assertEquals("[[CHANGE,<dt>~~T~~o~~ do~~</dt>,<dt>**D**o**ne**</dt>]]", rows.toString());
419+
}
408420
}

src/test/java/com/github/difflib/unifieddiff/UnifiedDiffReaderTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,19 @@ public void testParseIssue46() throws IOException {
126126

127127
assertThat(diff.getTail()).isNull();
128128
}
129+
130+
@Test
131+
public void testParseIssue33() throws IOException {
132+
UnifiedDiff diff = UnifiedDiffReader.parseUnifiedDiff(
133+
UnifiedDiffReaderTest.class.getResourceAsStream("problem_diff_issue33.diff"));
134+
135+
assertThat(diff.getFiles().size()).isEqualTo(1);
136+
137+
UnifiedDiffFile file1 = diff.getFiles().get(0);
138+
assertThat(file1.getFromFile()).isEqualTo("Main.java");
139+
assertThat(file1.getPatch().getDeltas().size()).isEqualTo(1);
140+
141+
assertThat(diff.getTail()).isNull();
142+
assertThat(diff.getHeader()).isNull();
143+
}
129144
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
--- a/Main.java
2+
+++ b/Main.java
3+
@@ -2,2 +2,3 @@ public class Main {
4+
public static void main(String[] args) {
5+
+ System.out.println("Hello, world!");
6+
}

0 commit comments

Comments
 (0)