// 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) } } } }