Something went wrong. Try again.
Monorepo for Tangled
Something went wrong. Try again.
Go
at icy/nmoxmq
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122package types
import ( "testing")
func TestDiffId(t *testing.T) { tests := []struct { name string diff Diff expected string }{ { name: "regular file uses new name", diff: Diff{ Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "", New: "src/main.go"}, }, expected: "src/main.go", }, { name: "new file uses new name", diff: Diff{ Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "", New: "src/new.go"}, IsNew: true, }, expected: "src/new.go", }, { name: "deleted file uses old name", diff: Diff{ Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "src/deleted.go", New: ""}, IsDelete: true, }, expected: "src/deleted.go", }, { name: "renamed file uses new name", diff: Diff{ Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "src/old.go", New: "src/renamed.go"}, IsRename: true, }, expected: "src/renamed.go", }, }
for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := tt.diff.Id(); got != tt.expected { t.Errorf("Diff.Id() = %q, want %q", got, tt.expected) } }) }}
func TestChangedFilesMatchesDiffId(t *testing.T) { // ChangedFiles() must return values matching each Diff's Id() // so that sidebar links point to the correct anchors. // Tests existing, deleted, new, and renamed files. nd := NiceDiff{ Diff: []Diff{ { Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "", New: "src/modified.go"}, }, { Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "src/deleted.go", New: ""}, IsDelete: true, }, { Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "", New: "src/new.go"}, IsNew: true, }, { Name: struct { Old string `json:"old"` New string `json:"new"` }{Old: "src/old.go", New: "src/renamed.go"}, IsRename: true, }, }, }
changedFiles := nd.ChangedFiles()
if len(changedFiles) != len(nd.Diff) { t.Fatalf("ChangedFiles() returned %d items, want %d", len(changedFiles), len(nd.Diff)) }
for i, diff := range nd.Diff { if changedFiles[i].Id() != diff.Id() { t.Errorf("ChangedFiles()[%d] = %q, but Diff.Id() = %q", i, changedFiles[i], diff.Id()) } }}
func TestImplsInterfaces(t *testing.T) { nd := NiceDiff{} _ = isDiffsRenderer(nd)}
func isDiffsRenderer[S DiffRenderer](S) bool { return true }