Files
simplegit/gitcmd/empty_test.go
T
2026-07-15 11:06:48 -04:00

54 lines
1.2 KiB
Go

package gitcmd
import (
"context"
"os"
"os/exec"
"path/filepath"
"testing"
)
func TestEmptyRepoReturnsEmpty(t *testing.T) {
dir := t.TempDir()
repoPath := filepath.Join(dir, "empty.git")
if err := os.MkdirAll(repoPath, 0o755); err != nil {
t.Fatal(err)
}
if out, err := exec.Command("git", "init", "--bare", repoPath).CombinedOutput(); err != nil {
t.Fatalf("git init --bare: %v\n%s", err, out)
}
r, err := OpenRepository(context.Background(), repoPath)
if err != nil {
t.Fatal(err)
}
if empty, err := r.IsEmpty(); err != nil || !empty {
t.Fatalf("IsEmpty() = (%v, %v), want (true, nil)", empty, err)
}
commits, err := r.ListCommits("HEAD", 20)
if err != nil {
t.Fatalf("ListCommits on empty repo: %v", err)
}
if len(commits) != 0 {
t.Fatalf("ListCommits = %d items, want 0", len(commits))
}
tree, err := r.GetTree("HEAD", "")
if err != nil {
t.Fatalf("GetTree on empty repo: %v", err)
}
if len(tree.Entries) != 0 {
t.Fatalf("GetTree = %d entries, want 0", len(tree.Entries))
}
contribs, err := r.GetContributors("HEAD")
if err != nil {
t.Fatalf("GetContributors on empty repo: %v", err)
}
if len(contribs) != 0 {
t.Fatalf("GetContributors = %d items, want 0", len(contribs))
}
}