diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2016-08-11 23:57:37 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-08-11 23:57:37 +0200 |
commit | 68307cee4259c6c4fded8124af7f993f0266a545 (patch) | |
tree | 60ce61c531bba4161744f9c6d359ac1d45e0399a /core/reference_test.go | |
parent | 223308ee235035d26ca75fe312fe0da6e6a33222 (diff) | |
download | go-git-68307cee4259c6c4fded8124af7f993f0266a545.tar.gz |
core: Reference logic implementation, and InvalidObject ObjectType
Diffstat (limited to 'core/reference_test.go')
-rw-r--r-- | core/reference_test.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/core/reference_test.go b/core/reference_test.go new file mode 100644 index 0000000..05d20b4 --- /dev/null +++ b/core/reference_test.go @@ -0,0 +1,57 @@ +package core + +import . "gopkg.in/check.v1" + +type ReferenceSuite struct{} + +var _ = Suite(&ReferenceSuite{}) + +const ( + ExampleReferenceName ReferenceName = "refs/heads/v4" +) + +func (s *ReferenceSuite) TestNewReferenceFromStrings(c *C) { + r := NewReferenceFromStrings("refs/heads/v4", "6ecf0ef2c2dffb796033e5a02219af86ec6584e5") + c.Assert(r.Type(), Equals, HashReference) + c.Assert(r.Name(), Equals, ExampleReferenceName) + c.Assert(r.Hash(), Equals, NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5")) + + r = NewReferenceFromStrings("HEAD", "ref: refs/heads/v4") + c.Assert(r.Type(), Equals, SymbolicReference) + c.Assert(r.Name(), Equals, HEAD) + c.Assert(r.Target(), Equals, ExampleReferenceName) +} + +func (s *ReferenceSuite) TestNewSymbolicReference(c *C) { + r := NewSymbolicReference(HEAD, ExampleReferenceName) + c.Assert(r.Type(), Equals, SymbolicReference) + c.Assert(r.Name(), Equals, HEAD) + c.Assert(r.Target(), Equals, ExampleReferenceName) +} + +func (s *ReferenceSuite) TestNewHashReference(c *C) { + r := NewHashReference(ExampleReferenceName, NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5")) + c.Assert(r.Type(), Equals, HashReference) + c.Assert(r.Name(), Equals, ExampleReferenceName) + c.Assert(r.Hash(), Equals, NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5")) +} + +func (s *ReferenceSuite) TestIsBranch(c *C) { + r := NewHashReference(ExampleReferenceName, ZeroHash) + c.Assert(r.IsBranch(), Equals, true) +} + +func (s *ReferenceSuite) TestIsNote(c *C) { + r := NewHashReference(ReferenceName("refs/notes/foo"), ZeroHash) + c.Assert(r.IsNote(), Equals, true) +} + +func (s *ReferenceSuite) TestIsRemote(c *C) { + r := NewHashReference(ReferenceName("refs/remotes/origin/master"), ZeroHash) + c.Assert(r.IsRemote(), Equals, true) +} + +func (s *ReferenceSuite) TestIsTag(c *C) { + r := NewHashReference(ReferenceName("refs/tags/v3.1."), ZeroHash) + c.Assert(r.IsTag(), Equals, true) +} |