Rename app to radiantwave: embed and provision assets, drop proclamations
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
"embed"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
//go:embed testdata
|
||||
var testFS embed.FS
|
||||
|
||||
func TestProvisionCopiesBundledFiles(t *testing.T) {
|
||||
dest := t.TempDir()
|
||||
|
||||
if err := Provision(testFS, dest); err != nil {
|
||||
t.Fatalf("Provision returned error: %v", err)
|
||||
}
|
||||
|
||||
for _, rel := range []string{
|
||||
"testdata/fonts/TestFont.ttf",
|
||||
"testdata/shaders/solid_color.frag",
|
||||
"testdata/shaders/solid_color.vert",
|
||||
"testdata/tos/01 - WELCOME.html",
|
||||
} {
|
||||
got, err := os.ReadFile(filepath.Join(dest, filepath.FromSlash(rel)))
|
||||
if err != nil {
|
||||
t.Errorf("expected %s to be provisioned: %v", rel, err)
|
||||
continue
|
||||
}
|
||||
want, err := testFS.ReadFile(rel)
|
||||
if err != nil {
|
||||
t.Fatalf("reading fixture %s: %v", rel, err)
|
||||
}
|
||||
if string(got) != string(want) {
|
||||
t.Errorf("provisioned %s content mismatch", rel)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestProvisionOverwritesStaleFiles(t *testing.T) {
|
||||
dest := t.TempDir()
|
||||
|
||||
// Plant a stale shader that differs from the bundled one.
|
||||
stalePath := filepath.Join(dest, "testdata", "shaders", "solid_color.vert")
|
||||
if err := os.MkdirAll(filepath.Dir(stalePath), 0755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.WriteFile(stalePath, []byte("stale content"), 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := Provision(testFS, dest); err != nil {
|
||||
t.Fatalf("Provision returned error: %v", err)
|
||||
}
|
||||
|
||||
got, err := os.ReadFile(stalePath)
|
||||
if err != nil {
|
||||
t.Fatalf("reading provisioned file: %v", err)
|
||||
}
|
||||
want, _ := testFS.ReadFile("testdata/shaders/solid_color.vert")
|
||||
if string(got) != string(want) {
|
||||
t.Errorf("stale file was not overwritten: got %q want %q", got, want)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user