summaryrefslogtreecommitdiff
path: root/internal/naming/naming_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/naming/naming_test.go')
-rw-r--r--internal/naming/naming_test.go55
1 files changed, 55 insertions, 0 deletions
diff --git a/internal/naming/naming_test.go b/internal/naming/naming_test.go
new file mode 100644
index 0000000..a3bc49f
--- /dev/null
+++ b/internal/naming/naming_test.go
@@ -0,0 +1,55 @@
+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)
+ }
+}