Skip to content

Commit 94674a0

Browse files
committed
fixes #119
1 parent 91a42b2 commit 94674a0

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

java-diff-utils/src/test/java/com/github/difflib/GenerateUnifiedDiffTest.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.Collections;
1313
import java.util.List;
1414
import static java.util.stream.Collectors.joining;
15+
import static org.assertj.core.api.Assertions.assertThat;
1516
import static org.junit.jupiter.api.Assertions.assertEquals;
1617
import static org.junit.jupiter.api.Assertions.assertThrows;
1718
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -204,8 +205,19 @@ public void testFailingPatchByException() throws IOException {
204205
baseLines.set(40, baseLines.get(40) + " corrupted ");
205206

206207
assertThrows(PatchFailedException.class, () -> DiffUtils.patch(baseLines, p));
208+
}
209+
210+
@Test
211+
public void testWrongContextLength() throws IOException {
212+
List<String> original = fileToLines(TestConstants.BASE_FOLDER_RESOURCES + "com/github/difflib/text/issue_119_original.txt");
213+
List<String> revised = fileToLines(TestConstants.BASE_FOLDER_RESOURCES + "com/github/difflib/text/issue_119_revised.txt");
214+
215+
Patch<String> patch = DiffUtils.diff(original, revised);
216+
List<String> udiff = UnifiedDiffUtils.generateUnifiedDiff("a/$filename", "b/$filename",
217+
original, patch, 3);
207218

219+
//System.out.println(udiff.stream().collect(joining("\n")));
208220

209-
221+
assertThat(udiff).contains("@@ -1,4 +1,4 @@");
210222
}
211223
}

java-diff-utils/src/test/java/com/github/difflib/text/DiffRowGeneratorTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,4 +662,25 @@ public void testCorrectChangeIssue114_2() throws IOException {
662662
assertThat(rows).extracting(item -> item.getTag().name()).containsExactly("CHANGE", "DELETE", "EQUAL", "CHANGE", "EQUAL");
663663
assertThat(rows.get(1).toString()).isEqualTo("[DELETE,~B~,]");
664664
}
665+
666+
@Test
667+
public void testIssue119WrongContextLength() throws IOException {
668+
String original = Files.lines(Paths.get("target/test-classes/com/github/difflib/text/issue_119_original.txt")).collect(joining("\n"));
669+
String revised = Files.lines(Paths.get("target/test-classes/com/github/difflib/text/issue_119_revised.txt")).collect(joining("\n"));
670+
671+
DiffRowGenerator generator = DiffRowGenerator.create()
672+
.showInlineDiffs(true)
673+
.mergeOriginalRevised(true)
674+
.inlineDiffByWord(true)
675+
.oldTag(f -> "~")
676+
.newTag(f -> "**")
677+
.build();
678+
List<DiffRow> rows = generator.generateDiffRows(
679+
Arrays.asList(original.split("\n")),
680+
Arrays.asList(revised.split("\n")));
681+
682+
rows.stream()
683+
.filter(item -> item.getTag() != DiffRow.Tag.EQUAL)
684+
.forEach(System.out::println);
685+
}
665686
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const world: string = 'world',
2+
p: number | undefined = 42;
3+
4+
console.log(`Hello, ${world}!`);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const world: string = 'world';
2+
const p: number | undefined = 42;
3+
4+
console.log(`Hello, ${world}!`);

0 commit comments

Comments
 (0)