s
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
package gitcmd
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestListBranches(t *testing.T) {
|
||||
f := newFixture(t)
|
||||
bs, err := f.repo.ListBranches()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(bs) != 2 {
|
||||
t.Fatalf("len = %d, want 2", len(bs))
|
||||
}
|
||||
|
||||
byName := map[string]Branch{}
|
||||
for _, b := range bs {
|
||||
byName[b.Name] = b
|
||||
}
|
||||
|
||||
main, ok := byName["main"]
|
||||
if !ok {
|
||||
t.Fatal("missing branch main")
|
||||
}
|
||||
if !main.IsDefault {
|
||||
t.Error("main.IsDefault = false, want true")
|
||||
}
|
||||
if main.SHA != f.c5 {
|
||||
t.Errorf("main.SHA = %q, want %q", main.SHA, f.c5)
|
||||
}
|
||||
if len(main.ShortSHA) < 7 || main.SHA[:7] != main.ShortSHA {
|
||||
t.Errorf("main.ShortSHA = %q, want 7-char prefix of %q", main.ShortSHA, main.SHA)
|
||||
}
|
||||
if main.Author != bobName {
|
||||
t.Errorf("main.Author = %q, want Bob", main.Author)
|
||||
}
|
||||
if main.Message != "remove temp" {
|
||||
t.Errorf("main.Message = %q, want 'remove temp'", main.Message)
|
||||
}
|
||||
if !main.When.Equal(mustParseTime(t, d5)) {
|
||||
t.Errorf("main.When = %v, want %v", main.When, mustParseTime(t, d5))
|
||||
}
|
||||
|
||||
feat, ok := byName["feature"]
|
||||
if !ok {
|
||||
t.Fatal("missing branch feature")
|
||||
}
|
||||
if feat.IsDefault {
|
||||
t.Error("feature.IsDefault = true, want false")
|
||||
}
|
||||
if feat.SHA != f.c3 {
|
||||
t.Errorf("feature.SHA = %q, want %q", feat.SHA, f.c3)
|
||||
}
|
||||
if feat.Author != aliceName {
|
||||
t.Errorf("feature.Author = %q, want Alice", feat.Author)
|
||||
}
|
||||
if !feat.When.Equal(mustParseTime(t, d3)) {
|
||||
t.Errorf("feature.When = %v, want %v", feat.When, mustParseTime(t, d3))
|
||||
}
|
||||
}
|
||||
|
||||
func TestListBranchesEmptyRepo(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
bare := dir + "/empty.git"
|
||||
gitRun(t, "", nil, "init", "-q", "--bare", bare)
|
||||
r, err := OpenRepository(context.Background(), bare)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
bs, err := r.ListBranches()
|
||||
if err != nil {
|
||||
t.Fatalf("ListBranches on empty repo: %v", err)
|
||||
}
|
||||
if len(bs) != 0 {
|
||||
t.Errorf("empty repo branches = %d, want 0", len(bs))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user