@@ -54,19 +54,10 @@ func TestParseHunksAndPrintHunks(t *testing.T) {
54
54
filename string
55
55
wantParseErr error
56
56
}{
57
- {
58
- filename : "sample_hunk.diff" ,
59
- },
60
- {
61
- filename : "sample_hunks.diff" ,
62
- },
63
- {
64
- filename : "sample_bad_hunks.diff" ,
65
- wantParseErr : nil ,
66
- },
67
- {
68
- filename : "sample_hunks_no_newline.diff" ,
69
- },
57
+ {filename : "sample_hunk.diff" },
58
+ {filename : "sample_hunks.diff" },
59
+ {filename : "sample_bad_hunks.diff" },
60
+ {filename : "sample_hunks_no_newline.diff" },
70
61
{filename : "no_newline_both.diff" },
71
62
{filename : "no_newline_both2.diff" },
72
63
{filename : "no_newline_orig.diff" },
@@ -105,15 +96,9 @@ func TestParseFileDiffAndPrintFileDiff(t *testing.T) {
105
96
filename string
106
97
wantParseErr error
107
98
}{
108
- {
109
- filename : "sample_file.diff" ,
110
- },
111
- {
112
- filename : "sample_file_no_timestamp.diff" ,
113
- },
114
- {
115
- filename : "sample_file_extended.diff" ,
116
- },
99
+ {filename : "sample_file.diff" },
100
+ {filename : "sample_file_no_timestamp.diff" },
101
+ {filename : "sample_file_extended.diff" },
117
102
{
118
103
filename : "empty.diff" ,
119
104
wantParseErr : & ParseError {0 , 0 , ErrExtendedHeadersEOF },
@@ -145,20 +130,16 @@ func TestParseFileDiffAndPrintFileDiff(t *testing.T) {
145
130
146
131
func TestParseMultiFileDiffAndPrintMultiFileDiff (t * testing.T ) {
147
132
tests := []struct {
148
- filename string
149
- wantParseErr error
133
+ filename string
134
+ wantParseErr error
135
+ wantFileDiffs int // How many instances of diff.FileDiff are expected.
150
136
}{
151
- {
152
- filename : "sample_multi_file.diff" ,
153
- },
154
- {
155
- filename : "sample_multi_file_single.diff" ,
156
- },
157
- {
158
- filename : "long_line_multi.diff" ,
159
- },
160
- {filename : "empty.diff" },
161
- {filename : "empty_multi.diff" },
137
+ {filename : "sample_multi_file.diff" , wantFileDiffs : 2 },
138
+ {filename : "sample_multi_file_single.diff" , wantFileDiffs : 1 },
139
+ {filename : "sample_multi_file_rename.diff" , wantFileDiffs : 3 },
140
+ {filename : "long_line_multi.diff" , wantFileDiffs : 3 },
141
+ {filename : "empty.diff" , wantFileDiffs : 0 },
142
+ {filename : "empty_multi.diff" , wantFileDiffs : 2 },
162
143
}
163
144
for _ , test := range tests {
164
145
diffData , err := ioutil .ReadFile (filepath .Join ("testdata" , test .filename ))
@@ -174,6 +155,10 @@ func TestParseMultiFileDiffAndPrintMultiFileDiff(t *testing.T) {
174
155
continue
175
156
}
176
157
158
+ if got , want := len (diff ), test .wantFileDiffs ; got != want {
159
+ t .Errorf ("%s: got %v instances of diff.FileDiff, expected %v" , test .filename , got , want )
160
+ }
161
+
177
162
printed , err := PrintMultiFileDiff (diff )
178
163
if err != nil {
179
164
t .Errorf ("%s: PrintMultiFileDiff: %s" , test .filename , err )
0 commit comments