@@ -41,14 +41,16 @@ func (s *ScannerSuite) TestNextObjectHeaderWithoutHeader(c *C) {
41
41
}
42
42
43
43
func (s * ScannerSuite ) TestNextObjectHeaderREFDelta (c * C ) {
44
- s .testNextObjectHeader (c , "ref-delta" , expectedHeadersREF )
44
+ s .testNextObjectHeader (c , "ref-delta" , expectedHeadersREF , expectedCRCREF )
45
45
}
46
46
47
47
func (s * ScannerSuite ) TestNextObjectHeaderOFSDelta (c * C ) {
48
- s .testNextObjectHeader (c , "ofs-delta" , expectedHeadersOFS )
48
+ s .testNextObjectHeader (c , "ofs-delta" , expectedHeadersOFS , expectedCRCOFS )
49
49
}
50
50
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
+
52
54
r := fixtures .Basic ().ByTag (tag ).One ().Packfile ()
53
55
p := NewScanner (r )
54
56
@@ -61,9 +63,10 @@ func (s *ScannerSuite) testNextObjectHeader(c *C, tag string, expected []ObjectH
61
63
c .Assert (* h , DeepEquals , expected [i ])
62
64
63
65
buf := bytes .NewBuffer (nil )
64
- n , _ , err := p .NextObject (buf )
66
+ n , crcFromScanner , err := p .NextObject (buf )
65
67
c .Assert (err , IsNil )
66
68
c .Assert (n , Equals , h .Length )
69
+ c .Assert (crcFromScanner , Equals , expectedCRC [i ])
67
70
}
68
71
69
72
n , err := p .Checksum ()
@@ -149,6 +152,40 @@ var expectedHeadersOFS = []ObjectHeader{
149
152
{Type : plumbing .OFSDeltaObject , Offset : 84760 , Length : 4 , OffsetReference : 84741 },
150
153
}
151
154
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
+
152
189
var expectedHeadersREF = []ObjectHeader {
153
190
{Type : plumbing .CommitObject , Offset : 12 , Length : 254 },
154
191
{Type : plumbing .REFDeltaObject , Offset : 186 , Length : 93 ,
@@ -188,3 +225,37 @@ var expectedHeadersREF = []ObjectHeader{
188
225
Reference : plumbing .NewHash ("eba74343e2f15d62adedfd8c883ee0262b5c8021" )},
189
226
{Type : plumbing .TreeObject , Offset : 85485 , Length : 73 },
190
227
}
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