summaryrefslogtreecommitdiff
path: root/internal/generator/generator_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-16 09:35:31 +0300
committerPaul Buetow <paul@buetow.org>2026-05-16 09:35:31 +0300
commit1b24076788868f50812468b1bf4bb0ae86214e8c (patch)
tree389fd715b5c27e0fe036f6c123b8d09e3872da1c /internal/generator/generator_test.go
parentfbac3d13a575a410c2ee3f49418bf4b462544b4f (diff)
Add theme background musicv0.16.0
Diffstat (limited to 'internal/generator/generator_test.go')
-rw-r--r--internal/generator/generator_test.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/internal/generator/generator_test.go b/internal/generator/generator_test.go
index 7e2742b..a718c95 100644
--- a/internal/generator/generator_test.go
+++ b/internal/generator/generator_test.go
@@ -12,6 +12,7 @@ import (
"codeberg.org/snonux/snonux/internal/config"
"codeberg.org/snonux/snonux/internal/post"
+ "codeberg.org/snonux/snonux/internal/version"
)
var ctx = context.Background() //nolint:gochecknoglobals // test-only top-level helper used by every test in the file
@@ -94,6 +95,23 @@ func TestJSONStringOrNull(t *testing.T) {
}
}
+func TestLoadThemeMetaInjectsVersion(t *testing.T) {
+ t.Parallel()
+
+ for name := range getThemeSet() {
+ meta, err := loadThemeMeta(name)
+ if err != nil {
+ t.Fatalf("loadThemeMeta(%q): %v", name, err)
+ }
+ if !strings.Contains(meta.HeaderHTML, "snonux v"+version.Version) {
+ t.Errorf("theme %q header missing snonux version", name)
+ }
+ if strings.Count(meta.HeaderHTML, `class="sno-version"`) != 1 {
+ t.Errorf("theme %q header has duplicate version markup", name)
+ }
+ }
+}
+
func TestThemeSoundsJSONNonEmpty(t *testing.T) {
t.Parallel()
j := themeSoundsJSON("neon")
@@ -181,6 +199,12 @@ func TestThemeSoundPresetsAmbientValuesBounded(t *testing.T) {
if a.Gain <= 0 || a.Gain > 0.15 {
t.Errorf("theme %q ambient.%s gain=%f; want (0, 0.15]", name, mode, a.Gain)
}
+ if a.File != "ambient.ogg" {
+ t.Errorf("theme %q ambient.%s file=%q; want ambient.ogg", name, mode, a.File)
+ }
+ if a.Volume <= 0 || a.Volume > 0.8 {
+ t.Errorf("theme %q ambient.%s volume=%f; want (0, 0.8]", name, mode, a.Volume)
+ }
if a.BPM <= 0 || a.BPM > 400 {
t.Errorf("theme %q ambient.%s bpm=%f; want (0, 250]", name, mode, a.BPM)
}