diff options
| author | 2026-06-07 11:50:35 +0000 | |
|---|---|---|
| committer | 2026-06-07 11:50:35 +0000 | |
| commit | 6da61a0e0aa0f160fe6a7e4f37d47bc2049a1ad2 (patch) | |
| tree | b0eb4996c1538e098862daba5b3ae59a7a30a842 | |
| parent | internal/testgit: Add UpdateRef and ForEachRefFormat (diff) | |
| signature | No signature | |
object/tag: Fix my silly self-referential append test, that belongs to roundtrip
| -rw-r--r-- | object/tag/append_test.go | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/object/tag/append_test.go b/object/tag/append_test.go index b49d2e4b..f72183a1 100644 --- a/object/tag/append_test.go +++ b/object/tag/append_test.go @@ -12,7 +12,7 @@ import ( "lindenii.org/go/furgit/object/typ" ) -func TestAppendGitFsck(t *testing.T) { +func TestAppend(t *testing.T) { t.Parallel() for _, objectFormat := range id.SupportedObjectFormats() { @@ -37,7 +37,7 @@ func TestAppendGitFsck(t *testing.T) { Name: []byte("Test Tagger"), Email: []byte("tagger@example.org"), WhenUnix: 1234567890, - OffsetMinutes: 0, + OffsetMinutes: -210, }, Message: []byte("subject\n\nbody\n"), } @@ -60,17 +60,36 @@ func TestAppendGitFsck(t *testing.T) { t.Fatalf("Fsck: %v", err) } - gitBody, err := repo.CatFile(t, typ.TypeTag, tagID) - if err != nil { - t.Fatalf("CatFile(tag): %v", err) - } + const ref = "refs/tags/oracle" - parsed, err := tag.Parse(gitBody, objectFormat) + err = repo.UpdateRef(t, ref, tagID) if err != nil { - t.Fatalf("Parse: %v", err) + t.Fatalf("UpdateRef: %v", err) } - assertTagEqual(t, parsed, tagObject) + for _, field := range []struct { + name string + format string + want string + }{ + {name: "object", format: "%(object)", want: blobID.String()}, + {name: "type", format: "%(type)", want: "blob"}, + {name: "tag", format: "%(tag)", want: "blob-tag"}, + {name: "taggername", format: "%(taggername)", want: "Test Tagger"}, + {name: "taggeremail", format: "%(taggeremail:trim)", want: "tagger@example.org"}, + {name: "taggerdate", format: "%(taggerdate:raw)", want: "1234567890 -0330"}, + {name: "subject", format: "%(contents:subject)", want: "subject"}, + {name: "body", format: "%(contents:body)", want: "body\n"}, + } { + got, err := repo.ForEachRefFormat(t, ref, field.format) + if err != nil { + t.Fatalf("ForEachRefFormat(%s): %v", field.format, err) + } + + if trimmed := strings.TrimSuffix(string(got), "\n"); trimmed != field.want { + t.Fatalf("%s = %q, want %q", field.name, trimmed, field.want) + } + } }) } } |
