Browse Source

lib/fs: Fix UnicodeLowercaseNormalized on lowercase NFD (#7692)

Co-authored-by: greatroar <@>
greatroar 4 years ago
parent
commit
0e52ce830a
2 changed files with 2 additions and 1 deletions
  1. 1 1
      lib/fs/folding.go
  2. 1 0
      lib/fs/folding_test.go

+ 1 - 1
lib/fs/folding.go

@@ -19,7 +19,7 @@ import (
 func UnicodeLowercaseNormalized(s string) string {
 	i := firstCaseChange(s)
 	if i == -1 {
-		return s
+		return norm.NFC.String(s)
 	}
 
 	var rs strings.Builder

+ 1 - 0
lib/fs/folding_test.go

@@ -46,6 +46,7 @@ var caseCases = [][2]string{
 	{"\u212A", "k"},
 	// Folding renormalizes to NFC
 	{"A\xCC\x88", "\xC3\xA4"}, // ä
+	{"a\xCC\x88", "\xC3\xA4"}, // ä
 }
 
 func TestUnicodeLowercaseNormalized(t *testing.T) {