package settings import ( "io" "log" "path/filepath" "testing" ) // i18n (v0.247.0): the household language. Default Hungarian; only a supported value is stored; the // choice survives a restart (it is what the hub report and every page read). func TestLanguageSetting(t *testing.T) { lg := log.New(io.Discard, "", 0) p := filepath.Join(t.TempDir(), "settings.json") s, err := Load(p, lg) if err != nil { t.Fatal(err) } if got := s.GetLanguage(); got != "hu" { t.Fatalf("a box that never chose must read Hungarian, got %q", got) } if err := s.SetLanguage("de"); err == nil || s.GetLanguage() != "hu" { t.Fatalf("unsupported language must be refused and change nothing (err=%v, lang=%q)", err, s.GetLanguage()) } if err := s.SetLanguage("en"); err != nil { t.Fatal(err) } again, err := Load(p, lg) if err != nil { t.Fatal(err) } if got := again.GetLanguage(); got != "en" { t.Fatalf("language did not survive a reload: %q", got) } }