aboutsummaryrefslogtreecommitdiff
path: root/repository/refs_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'repository/refs_test.go')
-rw-r--r--repository/refs_test.go113
1 files changed, 0 insertions, 113 deletions
diff --git a/repository/refs_test.go b/repository/refs_test.go
deleted file mode 100644
index d01dda19..00000000
--- a/repository/refs_test.go
+++ /dev/null
@@ -1,113 +0,0 @@
-package repository_test
-
-import (
- "testing"
-
- "codeberg.org/lindenii/furgit/internal/testgit"
- objectid "codeberg.org/lindenii/furgit/object/id"
- objecttype "codeberg.org/lindenii/furgit/object/type"
- "codeberg.org/lindenii/furgit/ref"
-)
-
-func TestOpenFilesRefFormat(t *testing.T) {
- t.Parallel()
-
- testgit.ForEachAlgorithm(t, func(t *testing.T, algo objectid.Algorithm) { //nolint:thelper
- repoHarness := testgit.NewRepo(t, testgit.RepoOptions{
- ObjectFormat: algo,
- Bare: true,
- RefFormat: "files",
- })
-
- _, _, commitID := repoHarness.MakeCommit(t, "files refs")
- repoHarness.UpdateRef(t, "refs/heads/main", commitID)
- repoHarness.SymbolicRef(t, "HEAD", "refs/heads/main")
-
- repo := repoHarness.OpenRepository(t)
-
- if repo.Algorithm() != algo {
- t.Fatalf("Algorithm = %v, want %v", repo.Algorithm(), algo)
- }
-
- headerType, headerSize, err := repo.Objects().ReadHeader(commitID)
- if err != nil {
- t.Fatalf("ReadHeader(commit): %v", err)
- }
-
- if headerType != objecttype.TypeCommit {
- t.Fatalf("ReadHeader(commit) type = %v, want %v", headerType, objecttype.TypeCommit)
- }
-
- if headerSize <= 0 {
- t.Fatalf("ReadHeader(commit) size = %d, want > 0", headerSize)
- }
-
- resolved, err := repo.Refs().Resolve("refs/heads/main")
- if err != nil {
- t.Fatalf("Resolve(refs/heads/main): %v", err)
- }
-
- detached, ok := resolved.(ref.Detached)
- if !ok {
- t.Fatalf("Resolve(refs/heads/main) type = %T, want ref.Detached", resolved)
- }
-
- if detached.ID != commitID {
- t.Fatalf("Resolve(refs/heads/main) id = %s, want %s", detached.ID, commitID)
- }
-
- head, err := repo.Refs().ResolveToDetached("HEAD")
- if err != nil {
- t.Fatalf("ResolveToDetached(HEAD): %v", err)
- }
-
- if head.ID != commitID {
- t.Fatalf("ResolveToDetached(HEAD) id = %s, want %s", head.ID, commitID)
- }
- })
-}
-
-func TestOpenFilesWithPackedRefs(t *testing.T) {
- t.Parallel()
-
- testgit.ForEachAlgorithm(t, func(t *testing.T, algo objectid.Algorithm) { //nolint:thelper
- repoHarness := newRepoForRefs(t, algo, "files")
- commitID := writeMainAndHead(t, repoHarness)
- repoHarness.PackRefs(t, "--all", "--prune")
- assertResolveToDetached(t, repoHarness, "refs/heads/main", commitID)
- })
-}
-
-func newRepoForRefs(t *testing.T, algo objectid.Algorithm, refFormat string) *testgit.TestRepo {
- t.Helper()
-
- return testgit.NewRepo(t, testgit.RepoOptions{
- ObjectFormat: algo,
- Bare: true,
- RefFormat: refFormat,
- })
-}
-
-func writeMainAndHead(t *testing.T, repoHarness *testgit.TestRepo) objectid.ObjectID {
- t.Helper()
- _, _, commitID := repoHarness.MakeCommit(t, "refs")
- repoHarness.UpdateRef(t, "refs/heads/main", commitID)
- repoHarness.SymbolicRef(t, "HEAD", "refs/heads/main")
-
- return commitID
-}
-
-func assertResolveToDetached(t *testing.T, repoHarness *testgit.TestRepo, name string, want objectid.ObjectID) {
- t.Helper()
-
- repo := repoHarness.OpenRepository(t)
-
- resolved, err := repo.Refs().ResolveToDetached(name)
- if err != nil {
- t.Fatalf("ResolveToDetached(%s): %v", name, err)
- }
-
- if resolved.ID != want {
- t.Fatalf("ResolveToDetached(%s) id = %s, want %s", name, resolved.ID, want)
- }
-}