diff options
| author | lhchavez <[email protected]> | 2021-09-04 13:04:58 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-09-04 13:04:58 -0700 |
| commit | fbaf9d1d1ae0bb7b6e7ed9044945d4c9322d4c76 (patch) | |
| tree | 8d93d7f0a2d983e99b931ed4a8d9e904add20a0a /repository_test.go | |
| parent | df7084d36a771e4ef2a418c7d3c4367d920e4cf3 (diff) | |
Add `Repository.CreateCommitBuffer` (#781)
This commit adds the Go binding for `git_commit_create_buffer`. This
will be used to support the 1.2.0 commit create callback.
Diffstat (limited to 'repository_test.go')
| -rw-r--r-- | repository_test.go | 54 |
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) |
