Skip to content

Commit

Permalink
Alphabetic sort
Browse files Browse the repository at this point in the history
  • Loading branch information
matrixik committed Sep 27, 2022
1 parent 379e310 commit 4088c6d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
2 changes: 1 addition & 1 deletion languages_substitution.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ func init() {
// TODO: Find better way so all langs are merged automatically and better
// tested.
for _, sub := range []*map[rune]string{
&bgSub,
&csSub,
&deSub,
&enSub,
Expand All @@ -27,7 +28,6 @@ func init() {
&slSub,
&svSub,
&trSub,
&bgSub,
} {
for key, value := range defaultSub {
(*sub)[key] = value
Expand Down
4 changes: 2 additions & 2 deletions slug.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ func MakeLang(s string, lang string) (slug string) {
// Process string with selected substitution language.
// Catch ISO 3166-1, ISO 639-1:2002 and ISO 639-3:2007.
switch strings.ToLower(lang) {
case "bg", "bgr":
slug = SubstituteRune(slug, bgSub)
case "cs", "ces":
slug = SubstituteRune(slug, csSub)
case "de", "deu":
Expand Down Expand Up @@ -91,8 +93,6 @@ func MakeLang(s string, lang string) (slug string) {
slug = SubstituteRune(slug, svSub)
case "tr", "tur":
slug = SubstituteRune(slug, trSub)
case "bg", "bgr":
slug = SubstituteRune(slug, bgSub)
default: // fallback to "en" if lang not found
slug = SubstituteRune(slug, enSub)
}
Expand Down
10 changes: 6 additions & 4 deletions slug_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ func TestSlugMakeLang(t *testing.T) {
want string
lowercase bool
}{
{"bg", "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯабвгдежзийклмнопрстуфхцчшщъьюя", "abvgdezhziyklmnoprstufhtschshshayyuyaabvgdezhziyklmnoprstufhtschshshtayyuya", true},
{"bg", "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯабвгдежзийклмнопрстуфхцчшщъьюя", "ABVGDEZhZIYKLMNOPRSTUFHTsChShShAYYuYaabvgdezhziyklmnoprstufhtschshshtayyuya", false},
{"cs", "ěščřžýáíéúůóňťĚŠČŘŽÝÁÍÉÚŮÓŇŤ", "escrzyaieuuontescrzyaieuuont", true},
{"cs", "ěščřžýáíéúůóňťĚŠČŘŽÝÁÍÉÚŮÓŇŤ", "escrzyaieuuontESCRZYAIEUUONT", false},
{"ces", "ěščřžýáíéúůóňťĚŠČŘŽÝÁÍÉÚŮÓŇŤ", "escrzyaieuuontescrzyaieuuont", true},
Expand All @@ -94,9 +96,9 @@ func TestSlugMakeLang(t *testing.T) {
{"tr", "şüöğıçŞÜÖİĞÇ", "suogicSUOIGC", false},
{"kk", "әғһіңөқұүӘҒҺІҢӨҚҰҮ", "aghinoquuaghinoquu", true},
{"kk", "әғһіңөқұүӘҒҺІҢӨҚҰҮ", "aghinoquuAGHINOQUU", false},
{"bg", "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯабвгдежзийклмнопрстуфхцчшщъьюя", "abvgdezhziyklmnoprstufhtschshshayyuyaabvgdezhziyklmnoprstufhtschshshtayyuya", true},
{"bg", "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯабвгдежзийклмнопрстуфхцчшщъьюя", "ABVGDEZhZIYKLMNOPRSTUFHTsChShShAYYuYaabvgdezhziyklmnoprstufhtschshshtayyuya", false},

// & fun.
{"bg", "Това и онова", "tova-i-onova", true},
{"cs", "Toto & Tamto", "toto-a-tamto", true},
{"cs", "Toto & Tamto", "Toto-a-Tamto", false},
{"cs", "Toto @ Tamto", "toto-zavinac-tamto", true},
Expand Down Expand Up @@ -131,12 +133,13 @@ func TestSlugMakeLang(t *testing.T) {
{"nn", "This & that", "this-og-that", true},
{"nn", "This @ that", "this-at-that", true},
{"tr", "This & that", "this-ve-that", true},
{"bg", "Това и онова", "tova-i-onova", true},
{"sl", "đanković & Kožušček", "dzankovic-in-kozuscek", true},
{"sl", "ĐankoVIĆ & KOŽUŠČEK", "DZankoVIC-in-KOZUSCEK", false},
{"test", "This & that", "this-and-that", true}, // unknown lang, fallback to "en"

// Test defaultSub, when adding new lang copy/paste this line,
// it contain special characters.
{"bg", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
{"cs", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
{"de", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
{"en", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
Expand All @@ -151,7 +154,6 @@ func TestSlugMakeLang(t *testing.T) {
{"sl", "1\"2'3’4-5–6—7―8", "1234-5-6-7-8", true},
{"sv", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
{"tr", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
{"bg", "1\"2'3’4‒5–6—7―8", "1234-5-6-7-8", true},
}

for index, smlt := range testCases {
Expand Down

0 comments on commit 4088c6d

Please sign in to comment.