diff options
author | Santiago M. Mola <santi@mola.io> | 2016-12-14 23:12:44 +0100 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-12-14 23:12:44 +0100 |
commit | 0af572dd21c0aa79d13745b633ee24ba6c4d6cf1 (patch) | |
tree | 49e81e74e82d84fd88b2fc1e4b0dc7c7bfe9c40f /objects_test.go | |
parent | df0f38af83f972f026d7e14150f3d37b95f13484 (diff) | |
download | go-git-0af572dd21c0aa79d13745b633ee24ba6c4d6cf1.tar.gz |
move plumbing from top level package to plumbing (#183)
* plumbing: rename Object -> EncodedObject.
* plumbing/storer: rename ObjectStorer -> EncodedObjectStorer.
* move difftree to plumbing/difftree.
* move diff -> utils/diff
* make Object/Tag/Blob/Tree/Commit/File depend on storer.
* Object and its implementations now depend only on
storer.EncodedObjectStorer, not git.Repository.
* Tests are decoupled accordingly.
* move Object/Commit/File/Tag/Tree to plumbing/object.
* move Object/Commit/File/Tag/Tree to plumbing/object.
* move checkClose to utils/ioutil.
* move RevListObjects to plumbing/revlist.Objects.
* move DiffTree to plumbing/difftree package.
* rename files with plural nouns to singular
* plumbing/object: add GetBlob/GetCommit/GetTag/GetTree.
Diffstat (limited to 'objects_test.go')
-rw-r--r-- | objects_test.go | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/objects_test.go b/objects_test.go deleted file mode 100644 index 78ebc6a..0000000 --- a/objects_test.go +++ /dev/null @@ -1,160 +0,0 @@ -package git - -import ( - "io/ioutil" - "time" - - "gopkg.in/src-d/go-git.v4/plumbing" - - . "gopkg.in/check.v1" - "io" -) - -type ObjectsSuite struct { - BaseSuite -} - -var _ = Suite(&ObjectsSuite{}) - -func (s *ObjectsSuite) TestNewCommit(c *C) { - hash := plumbing.NewHash("a5b8b09e2f8fcb0bb99d3ccb0958157b40890d69") - commit, err := s.Repository.Commit(hash) - c.Assert(err, IsNil) - - c.Assert(commit.Hash, Equals, commit.ID()) - c.Assert(commit.Hash.String(), Equals, "a5b8b09e2f8fcb0bb99d3ccb0958157b40890d69") - - tree, err := commit.Tree() - c.Assert(err, IsNil) - c.Assert(tree.Hash.String(), Equals, "c2d30fa8ef288618f65f6eed6e168e0d514886f4") - - parents := commit.Parents() - parentCommit, err := parents.Next() - c.Assert(err, IsNil) - c.Assert(parentCommit.Hash.String(), Equals, "b029517f6300c2da0f4b651b8642506cd6aaf45d") - - parentCommit, err = parents.Next() - c.Assert(err, IsNil) - c.Assert(parentCommit.Hash.String(), Equals, "b8e471f58bcbca63b07bda20e428190409c2db47") - - c.Assert(commit.Author.Email, Equals, "mcuadros@gmail.com") - c.Assert(commit.Author.Name, Equals, "Máximo Cuadros") - c.Assert(commit.Author.When.Format(time.RFC3339), Equals, "2015-03-31T13:47:14+02:00") - c.Assert(commit.Committer.Email, Equals, "mcuadros@gmail.com") - c.Assert(commit.Message, Equals, "Merge pull request #1 from dripolles/feature\n\nCreating changelog") -} - -func (s *ObjectsSuite) TestParseTree(c *C) { - hash := plumbing.NewHash("a8d315b2b1c615d43042c3a62402b8a54288cf5c") - tree, err := s.Repository.Tree(hash) - c.Assert(err, IsNil) - - c.Assert(tree.Entries, HasLen, 8) - - tree.buildMap() - c.Assert(tree.m, HasLen, 8) - c.Assert(tree.m[".gitignore"].Name, Equals, ".gitignore") - c.Assert(tree.m[".gitignore"].Mode.String(), Equals, "-rw-r--r--") - c.Assert(tree.m[".gitignore"].Hash.String(), Equals, "32858aad3c383ed1ff0a0f9bdf231d54a00c9e88") - - count := 0 - iter := tree.Files() - defer iter.Close() - for f, err := iter.Next(); err == nil; f, err = iter.Next() { - count++ - if f.Name == "go/example.go" { - reader, err := f.Reader() - c.Assert(err, IsNil) - defer func() { c.Assert(reader.Close(), IsNil) }() - content, _ := ioutil.ReadAll(reader) - c.Assert(content, HasLen, 2780) - } - } - - c.Assert(count, Equals, 9) -} - -func (s *ObjectsSuite) TestParseSignature(c *C) { - cases := map[string]Signature{ - `Foo Bar <foo@bar.com> 1257894000 +0100`: { - Name: "Foo Bar", - Email: "foo@bar.com", - When: MustParseTime("2009-11-11 00:00:00 +0100"), - }, - `Foo Bar <foo@bar.com> 1257894000 -0700`: { - Name: "Foo Bar", - Email: "foo@bar.com", - When: MustParseTime("2009-11-10 16:00:00 -0700"), - }, - `Foo Bar <> 1257894000 +0100`: { - Name: "Foo Bar", - Email: "", - When: MustParseTime("2009-11-11 00:00:00 +0100"), - }, - ` <> 1257894000`: { - Name: "", - Email: "", - When: MustParseTime("2009-11-10 23:00:00 +0000"), - }, - `Foo Bar <foo@bar.com>`: { - Name: "Foo Bar", - Email: "foo@bar.com", - When: time.Time{}, - }, - ``: { - Name: "", - Email: "", - When: time.Time{}, - }, - `<`: { - Name: "", - Email: "", - When: time.Time{}, - }, - } - - for raw, exp := range cases { - got := &Signature{} - got.Decode([]byte(raw)) - - c.Assert(got.Name, Equals, exp.Name) - c.Assert(got.Email, Equals, exp.Email) - c.Assert(got.When.Format(time.RFC3339), Equals, exp.When.Format(time.RFC3339)) - } -} - -func (s *ObjectsSuite) TestObjectIter(c *C) { - iter, err := s.Repository.Objects() - c.Assert(err, IsNil) - - objects := []Object{} - iter.ForEach(func(o Object) error { - objects = append(objects, o) - return nil - }) - - c.Assert(len(objects) > 0, Equals, true) - iter.Close() - - iter, err = s.Repository.Objects() - c.Assert(err, IsNil) - - i := 0 - for { - o, err := iter.Next() - if err == io.EOF { - break - } - - c.Assert(err, IsNil) - c.Assert(o, DeepEquals, objects[i]) - i += 1 - } - - iter.Close() -} - -func MustParseTime(value string) time.Time { - t, _ := time.Parse("2006-01-02 15:04:05 -0700", value) - return t -} |