Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit94ffdab

Browse files
committed
included new file diff capability to new unified diff parser
1 parentca0959a commit94ffdab

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

‎java-diff-utils/src/main/java/com/github/difflib/unifieddiff/UnifiedDiffWriter.java‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
importjava.io.Writer;
2121
importjava.util.ArrayList;
2222
importjava.util.List;
23+
importjava.util.Objects;
2324
importjava.util.function.Consumer;
2425
importjava.util.function.Function;
2526
importjava.util.logging.Level;
@@ -34,6 +35,7 @@ public class UnifiedDiffWriter {
3435
privatestaticfinalLoggerLOG =Logger.getLogger(UnifiedDiffWriter.class.getName());
3536

3637
publicstaticvoidwrite(UnifiedDiffdiff,Function<String,List<String>>originalLinesProvider,Writerwriter,intcontextSize)throwsIOException {
38+
Objects.requireNonNull(originalLinesProvider,"original lines provider needs to be specified");
3739
write(diff,originalLinesProvider,line -> {
3840
try {
3941
writer.append(line).append("\n");
@@ -138,7 +140,8 @@ private static void processDeltas(Consumer<String> writer,
138140
}
139141

140142
// output the context before the first Delta
141-
for (line =contextStart;line <curDelta.getSource().getPosition();line++) {//
143+
for (line =contextStart;line <curDelta.getSource().getPosition()
144+
&&line <origLines.size();line++) {//
142145
buffer.add(" " +origLines.get(line));
143146
origTotal++;
144147
revTotal++;
@@ -153,8 +156,8 @@ private static void processDeltas(Consumer<String> writer,
153156
AbstractDelta<String>nextDelta =deltas.get(deltaIndex);
154157
intintermediateStart =curDelta.getSource().getPosition()
155158
+curDelta.getSource().getLines().size();
156-
for (line =intermediateStart;line <nextDelta.getSource()
157-
.getPosition();line++) {
159+
for (line =intermediateStart;line <nextDelta.getSource().getPosition()
160+
&&line <origLines.size();line++) {
158161
// output the code between the last Delta and this one
159162
buffer.add(" " +origLines.get(line));
160163
origTotal++;

‎java-diff-utils/src/test/java/com/github/difflib/unifieddiff/UnifiedDiffWriterTest.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
importjava.nio.file.Files;
2828
importjava.nio.file.Paths;
2929
importjava.util.ArrayList;
30+
importjava.util.Collections;
3031
importjava.util.List;
3132
importstaticorg.junit.Assert.assertEquals;
32-
importorg.junit.Ignore;
3333
importorg.junit.Test;
3434

3535
/**
@@ -42,13 +42,12 @@ public UnifiedDiffWriterTest() {
4242
}
4343

4444
@Test
45-
@Ignore
4645
publicvoidtestWrite()throwsURISyntaxException,IOException {
4746
Stringstr =readFile(UnifiedDiffReaderTest.class.getResource("jsqlparser_patch_1.diff").toURI(),Charset.defaultCharset());
4847
UnifiedDiffdiff =UnifiedDiffReader.parseUnifiedDiff(newByteArrayInputStream(str.getBytes()));
4948

5049
StringWriterwriter =newStringWriter();
51-
UnifiedDiffWriter.write(diff,f ->null,writer,5);
50+
UnifiedDiffWriter.write(diff,f ->Collections.EMPTY_LIST,writer,5);
5251
System.out.println(writer.toString());
5352
}
5453

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp