1package plumbing 2 3import . "gopkg.in/check.v1" 4 5type ObjectSuite struct{} 6 7var _ = Suite(&ObjectSuite{}) 8 9func (s *ObjectSuite) TestObjectTypeString(c *C) { 10 c.Assert(CommitObject.String(), Equals, "commit") 11 c.Assert(TreeObject.String(), Equals, "tree") 12 c.Assert(BlobObject.String(), Equals, "blob") 13 c.Assert(TagObject.String(), Equals, "tag") 14 c.Assert(REFDeltaObject.String(), Equals, "ref-delta") 15 c.Assert(OFSDeltaObject.String(), Equals, "ofs-delta") 16 c.Assert(AnyObject.String(), Equals, "any") 17 c.Assert(ObjectType(42).String(), Equals, "unknown") 18} 19 20func (s *ObjectSuite) TestObjectTypeBytes(c *C) { 21 c.Assert(CommitObject.Bytes(), DeepEquals, []byte("commit")) 22} 23 24func (s *ObjectSuite) TestObjectTypeValid(c *C) { 25 c.Assert(CommitObject.Valid(), Equals, true) 26 c.Assert(ObjectType(42).Valid(), Equals, false) 27} 28 29func (s *ObjectSuite) TestParseObjectType(c *C) { 30 for s, e := range map[string]ObjectType{ 31 "commit": CommitObject, 32 "tree": TreeObject, 33 "blob": BlobObject, 34 "tag": TagObject, 35 "ref-delta": REFDeltaObject, 36 "ofs-delta": OFSDeltaObject, 37 } { 38 t, err := ParseObjectType(s) 39 c.Assert(err, IsNil) 40 c.Assert(e, Equals, t) 41 } 42 43 t, err := ParseObjectType("foo") 44 c.Assert(err, Equals, ErrInvalidType) 45 c.Assert(t, Equals, InvalidObject) 46} 47