Files
convert/internal/config/config_test.go
T
m4xx1m 65387c5dcd
Build Windows Installer / build (push) Successful in 4m11s
feat: ConvertGUI v2.0 (Wails + preview/trim + NSIS + Gitea CI)
2026-11-12 17:30:44 +03:00

43 lines
970 B
Go

package config
import (
"os"
"path/filepath"
"testing"
)
func TestLoadDefaultsAndCRFClamp(t *testing.T) {
tmp := t.TempDir()
t.Setenv("APPDATA", tmp)
t.Setenv("XDG_CONFIG_HOME", tmp)
cfg := Default()
if cfg.DefaultCRF != 20 || cfg.DefaultPreset != "slow" || cfg.Language != "ru" {
t.Fatalf("unexpected defaults: %+v", cfg)
}
cfg.DefaultCRF = 99
if err := Save(cfg); err != nil {
t.Fatalf("save failed: %v", err)
}
loaded := Load()
if loaded.DefaultCRF != 20 {
t.Fatalf("expected invalid CRF 99 to reset to 20, got %d", loaded.DefaultCRF)
}
// CRF 0 (lossless) must be preserved
cfg.DefaultCRF = 0
if err := Save(cfg); err != nil {
t.Fatalf("save CRF 0 failed: %v", err)
}
loadedZero := Load()
if loadedZero.DefaultCRF != 0 {
t.Fatalf("expected CRF 0 to be preserved, got %d", loadedZero.DefaultCRF)
}
path, _ := ConfigPath()
if _, err := os.Stat(filepath.Clean(path)); err != nil {
t.Fatalf("config file missing: %v", err)
}
}