aboutsummaryrefslogtreecommitdiff
path: root/internal/config/config_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 21:39:49 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 21:39:49 +0200
commit175aa1343ff04383a5a1a8ba166505933d9be46a (patch)
tree15c5e52a08a5484fe17747ef98e649a3ea8f076f /internal/config/config_test.go
parentd5d175118138249fe7d9e85d1bc65fb0b7e3a398 (diff)
downloadlectio-175aa1343ff04383a5a1a8ba166505933d9be46a.tar.gz
lectio-175aa1343ff04383a5a1a8ba166505933d9be46a.zip
config: drop go-toml and the legacy TOML migrations
The one-shot config.toml -> config.ini and books.toml -> books.ini migrations (a transition aid from the pre-INI format) are removed, along with the github.com/pelletier/go-toml/v2 dependency and the now-dead `toml:` struct tags. The live config format has been INI for many releases; anyone still on a .toml recreates it (the format is self-documenting on first run). Leaves 3 direct deps, all in active use (bubbletea, lipgloss, go-pdf/fpdf). Tests updated to write INI.
Diffstat (limited to 'internal/config/config_test.go')
-rw-r--r--internal/config/config_test.go46
1 files changed, 12 insertions, 34 deletions
diff --git a/internal/config/config_test.go b/internal/config/config_test.go
index dd75808..4d172c0 100644
--- a/internal/config/config_test.go
+++ b/internal/config/config_test.go
@@ -68,8 +68,8 @@ func TestLoadOverride(t *testing.T) {
dir := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", dir)
os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("offline = true\ndefault_version = \"wuj\"\n"), 0o644)
+ os.WriteFile(filepath.Join(dir, "lectio", "config.ini"),
+ []byte("offline = true\ndefault_version = wuj\n"), 0o644)
cfg, _ := Load()
if !cfg.Offline || cfg.DefaultVersion != "wuj" {
t.Errorf("override not applied: %+v", cfg)
@@ -121,8 +121,8 @@ func TestWebDisplayLoadsSetting(t *testing.T) {
dir := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", dir)
os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("web_display = \"vertical\"\n"), 0o644)
+ os.WriteFile(filepath.Join(dir, "lectio", "config.ini"),
+ []byte("web_display = vertical\n"), 0o644)
cfg, err := Load()
if err != nil {
t.Fatal(err)
@@ -136,8 +136,8 @@ func TestWebDisplayNormalizesUnknown(t *testing.T) {
dir := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", dir)
os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("web_display = \"bogus\"\n"), 0o644)
+ os.WriteFile(filepath.Join(dir, "lectio", "config.ini"),
+ []byte("web_display = bogus\n"), 0o644)
cfg, err := Load()
if err != nil {
t.Fatal(err)
@@ -158,8 +158,8 @@ func TestUILanguageLoadsPL(t *testing.T) {
dir := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", dir)
os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("ui_language = \"pl\"\n"), 0o644)
+ os.WriteFile(filepath.Join(dir, "lectio", "config.ini"),
+ []byte("ui_language = pl\n"), 0o644)
cfg, err := Load()
if err != nil {
t.Fatal(err)
@@ -176,8 +176,8 @@ func TestUILanguagePreservesAnyCode(t *testing.T) {
dir := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", dir)
os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("ui_language = \"FR\"\n"), 0o644)
+ os.WriteFile(filepath.Join(dir, "lectio", "config.ini"),
+ []byte("ui_language = FR\n"), 0o644)
cfg, err := Load()
if err != nil {
t.Fatal(err)
@@ -210,8 +210,8 @@ func TestPagerLoadsSetting(t *testing.T) {
dir := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", dir)
os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("pager = \"less -R\"\n"), 0o644)
+ os.WriteFile(filepath.Join(dir, "lectio", "config.ini"),
+ []byte("pager = less -R\n"), 0o644)
cfg, err := Load()
if err != nil {
t.Fatal(err)
@@ -303,28 +303,6 @@ func TestUseLayers(t *testing.T) {
}
}
-func TestMigrateTOMLToINI(t *testing.T) {
- dir := t.TempDir()
- t.Setenv("XDG_CONFIG_HOME", dir)
- os.MkdirAll(filepath.Join(dir, "lectio"), 0o755)
- // only the old TOML exists -> Load converts once and writes config.ini.
- os.WriteFile(filepath.Join(dir, "lectio", "config.toml"),
- []byte("ui_language = \"pl\"\ndefault_version = \"wuj\"\n"), 0o644)
- cfg, err := Load()
- if err != nil {
- t.Fatal(err)
- }
- if cfg.UILanguage != "pl" || cfg.DefaultVersion != "wuj" {
- t.Errorf("migrated values wrong: %+v", cfg)
- }
- if _, err := os.Stat(filepath.Join(dir, "lectio", "config.ini")); err != nil {
- t.Error("config.ini not written on migration")
- }
- if _, err := os.Stat(filepath.Join(dir, "lectio", "config.toml")); err != nil {
- t.Error("old config.toml should be kept (reversible)")
- }
-}
-
func TestPartShown(t *testing.T) {
var empty Config
if !empty.PartShown("new", "psalm") {