diff options
Diffstat (limited to 'internal/config/config_test.go')
| -rw-r--r-- | internal/config/config_test.go | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 3830cb6..14823b8 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -13,9 +13,20 @@ func TestLoadSeeds(t *testing.T) { if err != nil { t.Fatal(err) } - if cfg.DefaultVersion != "bt" || cfg.Offline { + if cfg.DefaultVersion != "vul" || cfg.Offline { t.Errorf("defaults wrong: %+v", cfg) } + wantVersions := []string{"wuj", "vul", "grb", "drb"} + if len(cfg.Versions) != len(wantVersions) { + t.Errorf("versions default = %v, want %v", cfg.Versions, wantVersions) + } else { + for i, v := range wantVersions { + if cfg.Versions[i] != v { + t.Errorf("versions default = %v, want %v", cfg.Versions, wantVersions) + break + } + } + } if cfg.Lectionary != "new" { t.Errorf("lectionary default wrong: %+v", cfg) } @@ -24,6 +35,32 @@ func TestLoadSeeds(t *testing.T) { } } +// TestLoadMigratesBT checks a legacy config still carrying the retired "bt" +// version (both as default_version and in the versions list) loads and is +// migrated to wuj: bt is dropped from the list when wuj is already present +// (no duplicate column) and default_version bt becomes wuj. +func TestLoadMigratesBT(t *testing.T) { + dir := t.TempDir() + t.Setenv("LECTIO_CONFIG", filepath.Join(dir, "config.ini")) + os.WriteFile(filepath.Join(dir, "config.ini"), + []byte("default_version = bt\nversions = bt, wuj, vul\n"), 0o644) + cfg, err := Load() + if err != nil { + t.Fatal(err) + } + if cfg.DefaultVersion != "wuj" { + t.Errorf("default_version bt not migrated: %q", cfg.DefaultVersion) + } + for _, v := range cfg.Versions { + if v == "bt" { + t.Errorf("versions still carries bt: %v", cfg.Versions) + } + } + if len(cfg.Versions) != 2 || cfg.Versions[0] != "wuj" || cfg.Versions[1] != "vul" { + t.Errorf("versions after migration = %v, want [wuj vul]", cfg.Versions) + } +} + func TestLoadOverride(t *testing.T) { dir := t.TempDir() t.Setenv("XDG_CONFIG_HOME", dir) |
