Files
fenrir/internal/config/date_time_test.go

36 lines
945 B
Go

// Copyright (c) 2026 Storm Dragon
// SPDX-License-Identifier: GPL-3.0-or-later
package config
import (
"path/filepath"
"testing"
)
func TestDateTimePresetsValidateAndRoundTrip(t *testing.T) {
settings := Defaults()
settings.Presentation.DateTime = DateTime{TimeFormat: "12-hour-seconds", DateFormat: "full-dmy"}
path := filepath.Join(t.TempDir(), "settings.toml")
if err := Save(path, settings); err != nil {
t.Fatal(err)
}
loaded, _, err := Load(path, nil)
if err != nil || loaded.Presentation.DateTime != settings.Presentation.DateTime {
t.Fatal(loaded, err)
}
for _, value := range []string{"", "unknown", "%H:%M"} {
for _, date := range []bool{false, true} {
invalid := Defaults()
if date {
invalid.Presentation.DateTime.DateFormat = value
} else {
invalid.Presentation.DateTime.TimeFormat = value
}
if invalid.Validate() == nil {
t.Fatal("invalid format accepted", date, value)
}
}
}
}