All checks were successful
Test / Create distribution (push) Successful in 1m20s
Test / Sandbox (push) Successful in 3m53s
Test / Hakurei (push) Successful in 6m2s
Test / ShareFS (push) Successful in 6m3s
Test / Sandbox (race detector) (push) Successful in 6m28s
Test / Hakurei (race detector) (push) Successful in 7m16s
Test / Flake checks (push) Successful in 1m33s
This should prevent adding packages with nonunique names. Signed-off-by: Ophestra <cat@gensokyo.uk>
67 lines
1.2 KiB
Go
67 lines
1.2 KiB
Go
package rosa_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"hakurei.app/internal/rosa"
|
|
)
|
|
|
|
func TestLoad(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for i := range rosa.PresetEnd {
|
|
p := rosa.PArtifact(i)
|
|
t.Run(rosa.GetMetadata(p).Name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
rosa.Std.Load(p)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestResolveName(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for i := range rosa.PresetUnexportedStart {
|
|
p := i
|
|
name := rosa.GetMetadata(p).Name
|
|
t.Run(name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if got, ok := rosa.ResolveName(name); !ok {
|
|
t.Fatal("ResolveName: ok = false")
|
|
} else if got != p {
|
|
t.Fatalf("ResolveName: %d, want %d", got, p)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
func TestResolveNameUnexported(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
for i := rosa.PresetUnexportedStart; i < rosa.PresetEnd; i++ {
|
|
p := i
|
|
name := rosa.GetMetadata(p).Name
|
|
t.Run(name, func(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
if got, ok := rosa.ResolveName(name); ok {
|
|
t.Fatalf("ResolveName: resolved unexported preset %d", got)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestUnique(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
names := make(map[string]struct{})
|
|
for i := range rosa.PresetEnd {
|
|
name := rosa.GetMetadata(rosa.PArtifact(i)).Name
|
|
if _, ok := names[name]; ok {
|
|
t.Fatalf("name %s is not unique", name)
|
|
}
|
|
names[name] = struct{}{}
|
|
}
|
|
}
|