@@ -41,14 +41,16 @@ func (s *ScannerSuite) TestNextObjectHeaderWithoutHeader(c *C) {
4141}
4242
4343func (s * ScannerSuite ) TestNextObjectHeaderREFDelta (c * C ) {
44- s .testNextObjectHeader (c , "ref-delta" , expectedHeadersREF )
44+ s .testNextObjectHeader (c , "ref-delta" , expectedHeadersREF , expectedCRCREF )
4545}
4646
4747func (s * ScannerSuite ) TestNextObjectHeaderOFSDelta (c * C ) {
48- s .testNextObjectHeader (c , "ofs-delta" , expectedHeadersOFS )
48+ s .testNextObjectHeader (c , "ofs-delta" , expectedHeadersOFS , expectedCRCOFS )
4949}
5050
51- func (s * ScannerSuite ) testNextObjectHeader (c * C , tag string , expected []ObjectHeader ) {
51+ func (s * ScannerSuite ) testNextObjectHeader (c * C , tag string ,
52+ expected []ObjectHeader , expectedCRC []uint32 ) {
53+
5254 r := fixtures .Basic ().ByTag (tag ).One ().Packfile ()
5355 p := NewScanner (r )
5456
@@ -61,9 +63,10 @@ func (s *ScannerSuite) testNextObjectHeader(c *C, tag string, expected []ObjectH
6163 c .Assert (* h , DeepEquals , expected [i ])
6264
6365 buf := bytes .NewBuffer (nil )
64- n , _ , err := p .NextObject (buf )
66+ n , crcFromScanner , err := p .NextObject (buf )
6567 c .Assert (err , IsNil )
6668 c .Assert (n , Equals , h .Length )
69+ c .Assert (crcFromScanner , Equals , expectedCRC [i ])
6770 }
6871
6972 n , err := p .Checksum ()
@@ -149,6 +152,40 @@ var expectedHeadersOFS = []ObjectHeader{
149152 {Type : plumbing .OFSDeltaObject , Offset : 84760 , Length : 4 , OffsetReference : 84741 },
150153}
151154
155+ var expectedCRCOFS = []uint32 {
156+ 0xaa07ba4b ,
157+ 0xf706df58 ,
158+ 0x12438846 ,
159+ 0x2905a38c ,
160+ 0xd9429436 ,
161+ 0xbecfde4e ,
162+ 0x780e4b3e ,
163+ 0xdc18344f ,
164+ 0xcf4e4280 ,
165+ 0x1f08118a ,
166+ 0xafded7b8 ,
167+ 0xcc1428ed ,
168+ 0x1631d22f ,
169+ 0xbfff5850 ,
170+ 0xd108e1d8 ,
171+ 0x8e97ba25 ,
172+ 0x7316ff70 ,
173+ 0xdb4fce56 ,
174+ 0x901cce2c ,
175+ 0xec4552b0 ,
176+ 0x847905bf ,
177+ 0x3689459a ,
178+ 0xe67af94a ,
179+ 0xc2314a2e ,
180+ 0xcd987848 ,
181+ 0x8a853a6d ,
182+ 0x70c6518 ,
183+ 0x4f4108e2 ,
184+ 0xd6fe09e9 ,
185+ 0xf07a2804 ,
186+ 0x1d75d6be ,
187+ }
188+
152189var expectedHeadersREF = []ObjectHeader {
153190 {Type : plumbing .CommitObject , Offset : 12 , Length : 254 },
154191 {Type : plumbing .REFDeltaObject , Offset : 186 , Length : 93 ,
@@ -188,3 +225,37 @@ var expectedHeadersREF = []ObjectHeader{
188225 Reference : plumbing .NewHash ("eba74343e2f15d62adedfd8c883ee0262b5c8021" )},
189226 {Type : plumbing .TreeObject , Offset : 85485 , Length : 73 },
190227}
228+
229+ var expectedCRCREF = []uint32 {
230+ 0xaa07ba4b ,
231+ 0xfb4725a4 ,
232+ 0x12438846 ,
233+ 0x2905a38c ,
234+ 0xd9429436 ,
235+ 0xbecfde4e ,
236+ 0xdc18344f ,
237+ 0x780e4b3e ,
238+ 0xcf4e4280 ,
239+ 0x1f08118a ,
240+ 0xafded7b8 ,
241+ 0xcc1428ed ,
242+ 0x1631d22f ,
243+ 0x847905bf ,
244+ 0x3e20f31d ,
245+ 0x3689459a ,
246+ 0xd108e1d8 ,
247+ 0x71143d4a ,
248+ 0xe67af94a ,
249+ 0x739fb89f ,
250+ 0xc2314a2e ,
251+ 0x87864926 ,
252+ 0x415d752f ,
253+ 0xf72fb182 ,
254+ 0x3ffa37d4 ,
255+ 0xcd987848 ,
256+ 0x2f20ac8f ,
257+ 0xf2f0575 ,
258+ 0x7d8726e1 ,
259+ 0x740bf39 ,
260+ 0x26af4735 ,
261+ }
0 commit comments