9
9
import java .io .File ;
10
10
import java .io .FileReader ;
11
11
import java .io .IOException ;
12
+ import java .util .ArrayList ;
12
13
import java .util .Arrays ;
13
14
import java .util .LinkedList ;
14
15
import java .util .List ;
15
16
16
17
public class GenerateUnifiedDiffTest extends TestCase {
17
- static final String FS = File .separator ;
18
+ private static final String FS = File .separator ;
19
+ private static final String MOCK_FOLDER = "test" + FS + "mocks" + FS ;
18
20
19
21
public List <String > fileToLines (String filename ) {
20
22
List <String > lines = new LinkedList <String >();
@@ -32,17 +34,17 @@ public List<String> fileToLines(String filename) {
32
34
}
33
35
34
36
public void testGenerateUnified () {
35
- List <String > origLines = fileToLines ("test" + FS + "mocks" + FS + "original.txt" );
36
- List <String > revLines = fileToLines ("test" + FS + "mocks" + FS + "revised.txt" );
37
+ List <String > origLines = fileToLines (MOCK_FOLDER + "original.txt" );
38
+ List <String > revLines = fileToLines (MOCK_FOLDER + "revised.txt" );
37
39
38
- verify (origLines , revLines );
40
+ verify (origLines , revLines , "original.txt" , "revised.txt" );
39
41
}
40
42
41
43
public void testGenerateUnifiedWithOneDelta () {
42
- List <String > origLines = fileToLines ("test" + FS + "mocks" + FS + "one_delta_test_original.txt" );
43
- List <String > revLines = fileToLines ("test" + FS + "mocks" + FS + "one_delta_test_revised.txt" );
44
+ List <String > origLines = fileToLines (MOCK_FOLDER + "one_delta_test_original.txt" );
45
+ List <String > revLines = fileToLines (MOCK_FOLDER + "one_delta_test_revised.txt" );
44
46
45
- verify (origLines , revLines );
47
+ verify (origLines , revLines , "one_delta_test_original.txt" , "one_delta_test_revised.txt" );
46
48
}
47
49
48
50
public void testGenerateUnifiedDiffWithoutAnyDeltas () {
@@ -52,8 +54,8 @@ public void testGenerateUnifiedDiffWithoutAnyDeltas() {
52
54
}
53
55
54
56
public void testDiff_Issue10 () {
55
- final List <String > baseLines = fileToLines ("test" + FS + "mocks" + FS + "issue10_base.txt" );
56
- final List <String > patchLines = fileToLines ("test" + FS + "mocks" + FS + "issue10_patch.txt" );
57
+ final List <String > baseLines = fileToLines (MOCK_FOLDER + "issue10_base.txt" );
58
+ final List <String > patchLines = fileToLines (MOCK_FOLDER + "issue10_patch.txt" );
57
59
final Patch p = DiffUtils .parseUnifiedDiff (patchLines );
58
60
try {
59
61
DiffUtils .patch (baseLines , p );
@@ -62,22 +64,51 @@ public void testDiff_Issue10() {
62
64
}
63
65
}
64
66
65
- public void testDiff_Issue11 () {
66
- final List <String > lines1 = fileToLines ("test" + FS + "mocks" + FS + "issue11_1.txt" );
67
- final List <String > lines2 = fileToLines ("test" + FS + "mocks" + FS + "issue11_2.txt" );
68
- verify (lines1 , lines2 );
67
+ /**
68
+ * Issue 12
69
+ */
70
+ public void testPatchWithNoDeltas () {
71
+ final List <String > lines1 = fileToLines (MOCK_FOLDER + "issue11_1.txt" );
72
+ final List <String > lines2 = fileToLines (MOCK_FOLDER + "issue11_2.txt" );
73
+ verify (lines1 , lines2 , "issue11_1.txt" , "issue11_2.txt" );
69
74
}
70
75
71
76
public void testDiff5 () {
72
- final List <String > lines1 = fileToLines ("test" + FS + "mocks" + FS + "5A.txt" );
73
- final List <String > lines2 = fileToLines ("test" + FS + "mocks" + FS + "5B.txt" );
74
- verify (lines1 , lines2 );
77
+ final List <String > lines1 = fileToLines (MOCK_FOLDER + "5A.txt" );
78
+ final List <String > lines2 = fileToLines (MOCK_FOLDER + "5B.txt" );
79
+ verify (lines1 , lines2 , "5A.txt" , "5B.txt" );
75
80
}
76
81
77
- private void verify (List <String > origLines , List <String > revLines ) {
78
- Patch p = DiffUtils .diff (origLines , revLines );
79
- List <String > unifiedDiff = DiffUtils .generateUnifiedDiff (
80
- "test" + FS + "mocks" + FS + "original.txt" , "test" + FS + "mocks" + FS + "revised.txt" , origLines , p , 10 );
82
+ /**
83
+ * Issue 19
84
+ */
85
+ public void testDiffWithHeaderLineInText () {
86
+ List <String > original = new ArrayList <String >();
87
+ List <String > revised = new ArrayList <String >();
88
+
89
+ original .add ("test line1" );
90
+ original .add ("test line2" );
91
+ original .add ("test line 4" );
92
+ original .add ("test line 5" );
93
+
94
+ revised .add ("test line1" );
95
+ revised .add ("test line2" );
96
+ revised .add ("@@ -2,6 +2,7 @@" );
97
+ revised .add ("test line 4" );
98
+ revised .add ("test line 5" );
99
+
100
+ Patch patch = DiffUtils .diff (original , revised );
101
+ List <String > udiff = DiffUtils .generateUnifiedDiff ("original" , "revised" ,
102
+ original , patch , 10 );
103
+ DiffUtils .parseUnifiedDiff (udiff );
104
+ }
105
+
106
+ @ SuppressWarnings ("unchecked" )
107
+ private void verify (List <String > origLines , List <String > revLines ,
108
+ String originalFile , String revisedFile ) {
109
+ Patch patch = DiffUtils .diff (origLines , revLines );
110
+ List <String > unifiedDiff = DiffUtils .generateUnifiedDiff (originalFile , revisedFile ,
111
+ origLines , patch , 10 );
81
112
82
113
Patch fromUnifiedPatch = DiffUtils .parseUnifiedDiff (unifiedDiff );
83
114
List <String > patchedLines ;
0 commit comments