1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
package pack
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
type PackedObjectStringTestCase struct {
T PackedObjectType
Expected string
Panic bool
}
func (c *PackedObjectStringTestCase) Assert(t *testing.T) {
if c.Panic {
defer func() {
err := recover()
if err == nil {
t.Fatalf("gitobj/pack: expected panic()")
}
assert.Equal(t, c.Expected, fmt.Sprintf("%s", err))
}()
}
assert.Equal(t, c.Expected, c.T.String())
}
func TestPackedObjectTypeString(t *testing.T) {
for desc, c := range map[string]*PackedObjectStringTestCase{
"TypeNone": {T: TypeNone, Expected: "<none>"},
"TypeCommit": {T: TypeCommit, Expected: "commit"},
"TypeTree": {T: TypeTree, Expected: "tree"},
"TypeBlob": {T: TypeBlob, Expected: "blob"},
"TypeTag": {T: TypeTag, Expected: "tag"},
"TypeObjectOffsetDelta": {T: TypeObjectOffsetDelta,
Expected: "obj_ofs_delta"},
"TypeObjectReferenceDelta": {T: TypeObjectReferenceDelta,
Expected: "obj_ref_delta"},
"unknown type": {T: PackedObjectType(5), Panic: true,
Expected: "gitobj/pack: unknown object type: 5"},
} {
t.Run(desc, c.Assert)
}
}
|