Centralize managed state targets
This commit is contained in:
@@ -49,6 +49,67 @@ func TestValidatePrefixAllowsRoot(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestStatePath(t *testing.T) {
|
||||
tests := map[string]string{
|
||||
"": StateFileName,
|
||||
"bundle": "bundle/" + StateFileName,
|
||||
}
|
||||
for bundlePath, want := range tests {
|
||||
t.Run(bundlePath, func(t *testing.T) {
|
||||
got, err := StatePath(bundlePath)
|
||||
if err != nil {
|
||||
t.Fatalf("StatePath(%q) error = %v", bundlePath, err)
|
||||
}
|
||||
if got != want {
|
||||
t.Fatalf("StatePath(%q) = %q, want %q", bundlePath, got, want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestManagedBundleTargets(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
bundlePath string
|
||||
outputs []string
|
||||
want []string
|
||||
}{
|
||||
{
|
||||
name: "root",
|
||||
outputs: []string{"report.html", "assets/style.css"},
|
||||
want: []string{"report.html", "assets/style.css", StateFileName},
|
||||
},
|
||||
{
|
||||
name: "nested",
|
||||
bundlePath: "daily",
|
||||
outputs: []string{"report.html"},
|
||||
want: []string{"daily/report.html", "daily/" + StateFileName},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got, err := ManagedBundleTargets(tt.bundlePath, tt.outputs)
|
||||
if err != nil {
|
||||
t.Fatalf("ManagedBundleTargets() error = %v", err)
|
||||
}
|
||||
if len(got) != len(tt.want) {
|
||||
t.Fatalf("targets = %v, want %v", got, tt.want)
|
||||
}
|
||||
for i := range got {
|
||||
if got[i] != tt.want[i] {
|
||||
t.Fatalf("targets = %v, want %v", got, tt.want)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestManagedBundleTargetsRejectsInvalidOutputPath(t *testing.T) {
|
||||
if _, err := ManagedBundleTargets("bundle", []string{"../outside"}); !IsInvalidPath(err) {
|
||||
t.Fatalf("ManagedBundleTargets() error = %v, want invalid path", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestListSortsEntries(t *testing.T) {
|
||||
backend := walkBackend{
|
||||
entries: []Entry{
|
||||
|
||||
Reference in New Issue
Block a user