Skip to content

Commit 31777bd

Browse files
committed
Add parser advancement tests for binary parsing
1 parent 16539ad commit 31777bd

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

gitdiff/parser_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,52 @@ diff --git a/file.txt b/file.txt
165165
},
166166
EndLine: "@@ -1,2 +1,2 @@\n",
167167
},
168+
"ParseBinaryMarker": {
169+
Input: `Binary files differ
170+
diff --git a/file.txt b/file.txt
171+
`,
172+
Parse: func(p *parser) error {
173+
_, _, err := p.ParseBinaryMarker()
174+
return err
175+
},
176+
EndLine: "diff --git a/file.txt b/file.txt\n",
177+
},
178+
"ParseBinaryFragmentHeader": {
179+
Input: `literal 0
180+
HcmV?d00001
181+
`,
182+
Parse: func(p *parser) error {
183+
_, err := p.ParseBinaryFragmentHeader()
184+
return err
185+
},
186+
EndLine: "HcmV?d00001\n",
187+
},
188+
"ParseBinaryChunk": {
189+
Input: "TcmZQzU|?i`" + `U?w2V48*Je09XJG
190+
191+
literal 0
192+
`,
193+
Parse: func(p *parser) error {
194+
return p.ParseBinaryChunk(&BinaryFragment{Size: 20})
195+
},
196+
EndLine: "literal 0\n",
197+
},
198+
"ParseBinaryFragments": {
199+
Input: `GIT binary patch
200+
literal 40
201+
gcmZQzU|?i` + "`" + `U?w2V48*KJ%mKu_Kr9NxN<eH500b)lkN^Mx
202+
203+
literal 0
204+
HcmV?d00001
205+
206+
diff --git a/file.txt b/file.txt
207+
`,
208+
Parse: func(p *parser) error {
209+
_, err := p.ParseBinaryFragments(&File{})
210+
return err
211+
},
212+
EndLine: "diff --git a/file.txt b/file.txt\n",
213+
},
168214
}
169215

170216
for name, test := range tests {

0 commit comments

Comments
 (0)