diff options
Diffstat (limited to 'commit_walker_test.go')
-rw-r--r-- | commit_walker_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/commit_walker_test.go b/commit_walker_test.go new file mode 100644 index 0000000..cf239bc --- /dev/null +++ b/commit_walker_test.go @@ -0,0 +1,38 @@ +package git + +import . "gopkg.in/check.v1" + +type CommitWalkerSuite struct { + BaseSuite +} + +var _ = Suite(&CommitWalkerSuite{}) + +func (s *CommitWalkerSuite) TestWalkerNext(c *C) { + r, err := s.Repository.Head() + c.Assert(err, IsNil) + + commit, err := s.Repository.Commit(r.Hash()) + c.Assert(err, IsNil) + + var commits []*Commit + + WalkCommitHistory(commit, func(c *Commit) error { + commits = append(commits, c) + return nil + }) + + SortCommits(commits) + c.Assert(commits, HasLen, 8) + + expected := []string{ + "b029517f6300c2da0f4b651b8642506cd6aaf45d", "b8e471f58bcbca63b07bda20e428190409c2db47", + "35e85108805c84807bc66a02d91535e1e24b38b9", "a5b8b09e2f8fcb0bb99d3ccb0958157b40890d69", + "1669dce138d9b841a518c64b10914d88f5e488ea", "af2d6a6954d532f8ffb47615169c8fdf9d383a1a", + "918c48b83bd081e863dbe1b80f8998f058cd8294", "6ecf0ef2c2dffb796033e5a02219af86ec6584e5", + } + + for i, commit := range commits { + c.Assert(commit.Hash.String(), Equals, expected[i]) + } +} |