package naming import "testing" // English must reproduce exactly what calendar.HumanizeSlug produced before the // name generation moved here (the golden cases carried over verbatim). func TestDayNameEnglish(t *testing.T) { cases := map[string]string{ "ordinary-sunday-11": "11th Sunday in Ordinary Time", "ordinary-11-tue": "Tuesday of the 11th Week in Ordinary Time", "advent-2-mon": "Monday of the 2nd Week of Advent", "advent-dec-17": "December 17", "lent-after-ashes-wed": "Ash Wednesday", "lent-after-ashes-thu": "Thursday after Ash Wednesday", "triduum-fri": "Good Friday", "easter-octave-mon": "Monday in the Octave of Easter", "christmas-jan-2": "January 2", "christmas-after-epiphany-mon": "Monday after the Epiphany", "trinity-sunday": "The Most Holy Trinity", "ef-time-after-pentecost-4-tue": "Tuesday of the 4th Week after Pentecost", "ef-passiontide-0-thursday": "Thursday of Passion Week", "ef-september-ember-wed": "Ember Wednesday of September", } for slug, want := range cases { if got := DayName(slug, "en"); got != want { t.Errorf("DayName(%q, en) = %q, want %q", slug, got, want) } } } // Polish must localise both named days and composed names, using its own word // order and genitive-case season names. func TestDayNamePolish(t *testing.T) { cases := map[string]string{ "ordinary-sunday-11": "11. Niedziela Okresu Zwykłego", "ordinary-11-tue": "Wtorek 11. tygodnia Okresu Zwykłego", "advent-2-mon": "Poniedziałek 2. tygodnia Adwentu", "advent-dec-17": "17 grudnia", "triduum-fri": "Wielki Piątek", "lent-after-ashes-wed": "Środa Popielcowa", "ef-time-after-pentecost-4-tue": "Wtorek 4. tygodnia po Zesłaniu Ducha Świętego", } for slug, want := range cases { if got := DayName(slug, "pl"); got != want { t.Errorf("DayName(%q, pl) = %q, want %q", slug, got, want) } } } // An unknown language falls back entirely to English. func TestDayNameUnknownLangFallsBackToEnglish(t *testing.T) { if got := DayName("ordinary-sunday-3", "xx"); got != "3rd Sunday in Ordinary Time" { t.Errorf("unknown lang = %q", got) } }