mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Unicode: provide an ability to supplement the case-mapping tables
in character and string case mapping routines. Add a custom mapper for Turkish and Azeri. A more general solution for deriving the case information from Unicode's SpecialCasing.txt will require more work. Fixes #703. R=rsc, rsc1 CC=golang-dev, mdakin https://golang.org/cl/824043
This commit is contained in:
parent
c2f3737cb0
commit
4e2b7f8f41
6 changed files with 133 additions and 5 deletions
|
|
@ -341,6 +341,28 @@ func TestToUpper(t *testing.T) { runStringTests(t, ToUpper, "ToUpper", upperTest
|
|||
|
||||
func TestToLower(t *testing.T) { runStringTests(t, ToLower, "ToLower", lowerTests) }
|
||||
|
||||
func TestSpecialCase(t *testing.T) {
|
||||
lower := "abcçdefgğhıijklmnoöprsştuüvyz"
|
||||
upper := "ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ"
|
||||
u := ToUpperSpecial(unicode.TurkishCase, upper)
|
||||
if u != upper {
|
||||
t.Errorf("Upper(upper) is %s not %s", u, upper)
|
||||
}
|
||||
u = ToUpperSpecial(unicode.TurkishCase, lower)
|
||||
if u != upper {
|
||||
t.Errorf("Upper(lower) is %s not %s", u, upper)
|
||||
}
|
||||
l := ToLowerSpecial(unicode.TurkishCase, lower)
|
||||
if l != lower {
|
||||
t.Errorf("Lower(lower) is %s not %s", l, lower)
|
||||
}
|
||||
l = ToLowerSpecial(unicode.TurkishCase, upper)
|
||||
if l != lower {
|
||||
t.Errorf("Lower(upper) is %s not %s", l, lower)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
func TestTrimSpace(t *testing.T) { runStringTests(t, TrimSpace, "TrimSpace", trimSpaceTests) }
|
||||
|
||||
func equal(m string, s1, s2 string, t *testing.T) bool {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue