package web import "testing" func TestResolvePreset(t *testing.T) { cases := []struct { pair string dark bool want string }{ {"", false, "midnight-light"}, {"", true, "midnight"}, {"midnight", false, "midnight-light"}, {"midnight", true, "midnight"}, {"smooth", false, "smooth"}, {"smooth", true, "smooth-dark"}, {"pastel-lavender", true, "pastel-lavender-dark"}, {"pastel-peach", false, "pastel-peach"}, {"pastel-cloud", true, "pastel-cloud-dark"}, {"bogus", true, "midnight"}, {"bogus", false, "midnight-light"}, // explicit variant ids also resolve (URL ?theme= may pass them) {"smooth-dark", true, "midnight"}, } for _, c := range cases { if got := ResolvePreset(c.pair, c.dark); got != c.want { t.Errorf("ResolvePreset(%q, %v) = %q, want %q", c.pair, c.dark, got, c.want) } } } func TestSetDefaultDark(t *testing.T) { for _, off := range []string{"false", "0", "off", "OFF", " false "} { DefaultDark = true SetDefaultDark(off) if DefaultDark { t.Errorf("SetDefaultDark(%q): want dark off", off) } } for _, on := range []string{"true", "1", "on", "anything"} { DefaultDark = false SetDefaultDark(on) if !DefaultDark { t.Errorf("SetDefaultDark(%q): want dark on", on) } } DefaultDark = true }