From e4ac5326a42e45281ac8cdcf45757330bae007e9 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 23 Jul 2026 14:10:09 +0200 Subject: config: add web_theme/web_port fields Add WebTheme (default: "transfiguration") and WebPort (default: 0) to Config for the upcoming lectio-web binary. WebTheme resolves theme names (built-in or user files) later in internal/web; WebPort 0 means auto-pick a free port. - Updated Config struct with new fields - Set defaults in Default() - Updated embedded seed config.toml with documentation - Added TDD tests: TestWebDefaults and TestWebLoadsFromSeed - Existing tests (TestLoadSeeds, TestLoadOverride) still pass --- internal/config/config_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'internal/config/config_test.go') diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 94c33cd..9b72bc7 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -36,6 +36,31 @@ func TestLoadOverride(t *testing.T) { } } +func TestWebDefaults(t *testing.T) { + def := Default() + if def.WebTheme != "transfiguration" { + t.Errorf("WebTheme default wrong: got %q, want %q", def.WebTheme, "transfiguration") + } + if def.WebPort != 0 { + t.Errorf("WebPort default wrong: got %d, want 0", def.WebPort) + } +} + +func TestWebLoadsFromSeed(t *testing.T) { + dir := t.TempDir() + t.Setenv("XDG_CONFIG_HOME", dir) + cfg, err := Load() + if err != nil { + t.Fatal(err) + } + if cfg.WebTheme != "transfiguration" { + t.Errorf("WebTheme from seed wrong: got %q, want %q", cfg.WebTheme, "transfiguration") + } + if cfg.WebPort != 0 { + t.Errorf("WebPort from seed wrong: got %d, want 0", cfg.WebPort) + } +} + func TestPartShown(t *testing.T) { var empty Config if !empty.PartShown("new", "psalm") { -- cgit v1.3