diff options
author | Máximo Cuadros <mcuadros@gmail.com> | 2018-10-16 00:12:10 +0200 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2018-10-16 00:12:10 +0200 |
commit | c4be04433cf894cead23cd1de2be54c2886e44ad (patch) | |
tree | 2f4847115bb33bd571b2d8bcf0e413f246dd2547 /blame_test.go | |
parent | 8153e040f68da6002096ef177a11510f4fb06769 (diff) | |
download | go-git-c4be04433cf894cead23cd1de2be54c2886e44ad.tar.gz |
blame: fix edge case with missing \n in content length causing mismatched length error
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
Diffstat (limited to 'blame_test.go')
-rw-r--r-- | blame_test.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/blame_test.go b/blame_test.go index 92911b1..e0ac129 100644 --- a/blame_test.go +++ b/blame_test.go @@ -2,6 +2,7 @@ package git import ( "gopkg.in/src-d/go-git.v4/plumbing" + "gopkg.in/src-d/go-git.v4/plumbing/object" . "gopkg.in/check.v1" "gopkg.in/src-d/go-git-fixtures.v3" @@ -13,6 +14,31 @@ type BlameSuite struct { var _ = Suite(&BlameSuite{}) +func (s *BlameSuite) TestNewLines(c *C) { + h := plumbing.NewHash("ce9f123d790717599aaeb76bc62510de437761be") + lines, err := newLines([]string{"foo"}, []*object.Commit{{ + Hash: h, + Message: "foo", + }}) + + c.Assert(err, IsNil) + c.Assert(lines, HasLen, 1) + c.Assert(lines[0].Text, Equals, "foo") + c.Assert(lines[0].Hash, Equals, h) +} + +func (s *BlameSuite) TestNewLinesWithNewLine(c *C) { + lines, err := newLines([]string{"foo"}, []*object.Commit{ + {Message: "foo"}, + {Message: "bar"}, + }) + + c.Assert(err, IsNil) + c.Assert(lines, HasLen, 2) + c.Assert(lines[0].Text, Equals, "foo") + c.Assert(lines[1].Text, Equals, "\n") +} + type blameTest struct { repo string rev string |