summaryrefslogtreecommitdiff
path: root/repository_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'repository_test.go')
-rw-r--r--repository_test.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/repository_test.go b/repository_test.go
index e403aa9..60758c1 100644
--- a/repository_test.go
+++ b/repository_test.go
@@ -5,6 +5,60 @@ import (
"time"
)
+func TestCreateCommitBuffer(t *testing.T) {
+ t.Parallel()
+ repo := createTestRepo(t)
+ defer cleanupTestRepo(t, repo)
+
+ loc, err := time.LoadLocation("Europe/Berlin")
+ checkFatal(t, err)
+ sig := &Signature{
+ Name: "Rand Om Hacker",
+ Email: "[email protected]",
+ When: time.Date(2013, 03, 06, 14, 30, 0, 0, loc),
+ }
+
+ idx, err := repo.Index()
+ checkFatal(t, err)
+ err = idx.AddByPath("README")
+ checkFatal(t, err)
+ err = idx.Write()
+ checkFatal(t, err)
+ treeId, err := idx.WriteTree()
+ checkFatal(t, err)
+
+ message := "This is a commit\n"
+ tree, err := repo.LookupTree(treeId)
+ checkFatal(t, err)
+
+ for encoding, expected := range map[MessageEncoding]string{
+ MessageEncodingUTF8: `tree b7119b11e8ef7a1a5a34d3ac87f5b075228ac81e
+author Rand Om Hacker <[email protected]> 1362576600 +0100
+committer Rand Om Hacker <[email protected]> 1362576600 +0100
+
+This is a commit
+`,
+ MessageEncoding("ASCII"): `tree b7119b11e8ef7a1a5a34d3ac87f5b075228ac81e
+author Rand Om Hacker <[email protected]> 1362576600 +0100
+committer Rand Om Hacker <[email protected]> 1362576600 +0100
+encoding ASCII
+
+This is a commit
+`,
+ } {
+ encoding := encoding
+ expected := expected
+ t.Run(string(encoding), func(t *testing.T) {
+ buf, err := repo.CreateCommitBuffer(sig, sig, encoding, message, tree)
+ checkFatal(t, err)
+
+ if expected != string(buf) {
+ t.Errorf("mismatched commit buffer, expected %v, got %v", expected, string(buf))
+ }
+ })
+ }
+}
+
func TestCreateCommitFromIds(t *testing.T) {
t.Parallel()
repo := createTestRepo(t)