Slug joiner normalization

This commit is contained in:
2026-05-21 22:06:52 +02:00
parent 96afb64c7a
commit 43fee721db
5 changed files with 84 additions and 33 deletions
+19
View File
@@ -1239,6 +1239,25 @@ func TestWikiPageSlugOverridesChangeTargets(t *testing.T) {
}
}
func TestWikiSlugifyTitleNormalizesPunctuationAndSeparators(t *testing.T) {
tests := map[string]string{
`Grandmaster's Battle Momentum`: "grandmasters-battle-momentum",
`Bigbys Clenched Fist`: "bigbys-clenched-fist",
`"Quoted" Curly “Title”`: "quoted-curly-title",
`Hardiness vs. Enchantments`: "hardiness-vs-enchantments",
`Clairaudience/Clairvoyance`: "clairaudience-clairvoyance",
`Moon-on-a-Stick`: "moon-on-a-stick",
`Élite & Noble Houses`: "elite-noble-houses",
`Rock 'n' Roll`: "rock-n-roll",
`Melf's Acid Arrow`: "melfs-acid-arrow",
}
for input, want := range tests {
if got := wikiSlugifyTitle(input); got != want {
t.Fatalf("wikiSlugifyTitle(%q) = %q, want %q", input, got, want)
}
}
}
func TestPublicWikiTargetUsesTargetTitleBeforeDisplayLabel(t *testing.T) {
ctx := &wikiContext{
rowsByKey: map[string]map[string]any{