Skip to content

Commit f3ff104

Browse files
committed
fixes #33
1 parent a24ceb9 commit f3ff104

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

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/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)