diff options
| author | 2025-11-16 00:00:00 +0000 | |
|---|---|---|
| committer | 2025-11-16 00:00:00 +0000 | |
| commit | 94bfb1fa147f80e6ec39009d41fc2f853925e0a5 (patch) | |
| tree | e2c8063f3fbc58527e21f1f88e72f9e32071c28a /objects_test.go | |
| parent | README: Remove example program as it's unmaintainable now (diff) | |
| signature | ||
hash: Generic hash-algorithm API
Diffstat (limited to 'objects_test.go')
| -rw-r--r-- | objects_test.go | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/objects_test.go b/objects_test.go index 3a3e641f..cf9d3da7 100644 --- a/objects_test.go +++ b/objects_test.go @@ -8,18 +8,19 @@ import ( "testing" ) -func mustHash(t *testing.T, hex string) Hash { - id, err := ParseHashWithSize(hex, testHashSize) +func mustHash(t *testing.T, hex string) TestHash { + id, err := ParseHash[testHashType](hex) if err != nil { t.Fatalf("ParseHash failed: %v", err) } return id } -func hashWithByte(fill byte) Hash { - var h Hash +func hashWithByte(fill byte) TestHash { + var h TestHash + s := h.Slice() for i := 0; i < testHashSize; i++ { - h[i] = fill + s[i] = fill fill++ } return h @@ -31,7 +32,7 @@ func TestLoosePathUsesExpectedLayout(t *testing.T) { hexStr := strings.Repeat(pattern, repeats)[:testHashSize*2] id := mustHash(t, hexStr) expect := filepath.Join("objects", hexStr[:2], hexStr[2:]) - if got := loosePath(id, testHashSize); got != expect { + if got := loosePath(id); got != expect { t.Fatalf("unexpected loose path: %q", got) } } @@ -49,7 +50,7 @@ func TestParseBlobAndSerialize(t *testing.T) { if blob.Hash != id { t.Fatalf("blob hash mismatch: %v", blob.Hash) } - raw, err := blob.Serialize(testHashSize) + raw, err := blob.Serialize() if err != nil { t.Fatalf("Serialize error: %v", err) } @@ -64,13 +65,13 @@ func TestParseBlobAndSerialize(t *testing.T) { } func TestParseTreeAndSerialize(t *testing.T) { - entries := []TreeEntry{ + entries := []TestTreeEntry{ {Mode: 0100644, Name: []byte("file.txt"), ID: hashWithByte(0x20)}, {Mode: 040000, Name: []byte("subdir"), ID: hashWithByte(0x30)}, } - body := treeBody(&Tree{Entries: entries}, testHashSize) + body := treeBody(&TestTree{Entries: entries}) id := hashWithByte(0x40) - tree, err := parseTree(id, body, testHashSize) + tree, err := parseTree(id, body) if err != nil { t.Fatalf("parseTree error: %v", err) } @@ -82,7 +83,7 @@ func TestParseTreeAndSerialize(t *testing.T) { t.Fatalf("entry %d mismatch", i) } } - serialized, err := (&Tree{Entries: entries}).Serialize(testHashSize) + serialized, err := (&TestTree{Entries: entries}).Serialize() if err != nil { t.Fatalf("Serialize error: %v", err) } @@ -103,8 +104,8 @@ func TestParseCommitWithExtraHeader(t *testing.T) { OffsetMinutes: -420, } var buf bytes.Buffer - fmt.Fprintf(&buf, "tree %s\n", treeID.StringWithSize(testHashSize)) - fmt.Fprintf(&buf, "parent %s\n", parent.StringWithSize(testHashSize)) + fmt.Fprintf(&buf, "tree %s\n", treeID.String()) + fmt.Fprintf(&buf, "parent %s\n", parent.String()) buf.WriteString("author ") buf.Write(ident.Serialize()) buf.WriteByte('\n') @@ -112,7 +113,7 @@ func TestParseCommitWithExtraHeader(t *testing.T) { buf.Write(ident.Serialize()) buf.WriteByte('\n') buf.WriteString("extra data\n\nMessage body\n") - commit, err := parseCommit(hashWithByte(0x70), buf.Bytes(), testHashSize) + commit, err := parseCommit(hashWithByte(0x70), buf.Bytes()) if err != nil { t.Fatalf("parseCommit error: %v", err) } @@ -129,18 +130,18 @@ func TestParseCommitWithExtraHeader(t *testing.T) { t.Fatalf("extra headers mismatch: %+v", commit.ExtraHeaders) } - roundTrip := &Commit{ + roundTrip := &TestCommit{ Tree: treeID, - Parents: []Hash{parent}, + Parents: []TestHash{parent}, Author: ident, Committer: ident, Message: []byte("Message body\n"), } - raw, err := roundTrip.Serialize(testHashSize) + raw, err := roundTrip.Serialize() if err != nil { t.Fatalf("Serialize error: %v", err) } - if !strings.Contains(string(raw), "tree "+treeID.StringWithSize(testHashSize)) { + if !strings.Contains(string(raw), "tree "+treeID.String()) { t.Fatalf("serialized commit missing tree header") } } @@ -155,7 +156,7 @@ func TestParseTagAndSerialize(t *testing.T) { } var buf bytes.Buffer buf.WriteString("object ") - buf.WriteString(target.StringWithSize(testHashSize)) + buf.WriteString(target.String()) buf.WriteByte('\n') buf.WriteString("type commit\n") buf.WriteString("tag v1.0\n") @@ -163,7 +164,7 @@ func TestParseTagAndSerialize(t *testing.T) { buf.Write(tagger.Serialize()) buf.WriteString("\n\nannotated tag\n") body := append([]byte(nil), buf.Bytes()...) - tag, err := parseTag(hashWithByte(0x90), body, testHashSize) + tag, err := parseTag(hashWithByte(0x90), body) if err != nil { t.Fatalf("parseTag error: %v", err) } @@ -179,7 +180,7 @@ func TestParseTagAndSerialize(t *testing.T) { if string(tag.Name) != "v1.0" { t.Fatalf("tag name mismatch: %q", tag.Name) } - serialized, err := tag.Serialize(testHashSize) + serialized, err := tag.Serialize() if err != nil { t.Fatalf("Serialize error: %v", err) } |
