Imported Upstream version 2.4.2
[scm/test.git] / git / odb / pack / packfile_decode_test.go
1 package pack
2
3 import (
4         "bytes"
5         "testing"
6
7         "github.com/stretchr/testify/assert"
8 )
9
10 func TestDecodePackfileDecodesIntegerVersion(t *testing.T) {
11         p, err := DecodePackfile(bytes.NewReader([]byte{
12                 'P', 'A', 'C', 'K', // Pack header.
13                 0x0, 0x0, 0x0, 0x2, // Pack version.
14                 0x0, 0x0, 0x0, 0x0, // Number of packed objects.
15         }))
16
17         assert.NoError(t, err)
18         assert.EqualValues(t, 2, p.Version)
19 }
20
21 func TestDecodePackfileDecodesIntegerCount(t *testing.T) {
22         p, err := DecodePackfile(bytes.NewReader([]byte{
23                 'P', 'A', 'C', 'K', // Pack header.
24                 0x0, 0x0, 0x0, 0x2, // Pack version.
25                 0x0, 0x0, 0x1, 0x2, // Number of packed objects.
26         }))
27
28         assert.NoError(t, err)
29         assert.EqualValues(t, 258, p.Objects)
30 }
31
32 func TestDecodePackfileReportsBadHeaders(t *testing.T) {
33         p, err := DecodePackfile(bytes.NewReader([]byte{
34                 'W', 'R', 'O', 'N', 'G', // Malformed pack header.
35                 0x0, 0x0, 0x0, 0x0, // Pack version.
36                 0x0, 0x0, 0x0, 0x0, // Number of packed objects.
37         }))
38
39         assert.Equal(t, errBadPackHeader, err)
40         assert.Nil(t, p)
41 }