Add Locale-accepting overloads for (de)capitalize in JDK stdlib
#KT-28933 fixed
This commit is contained in:
committed by
Ilya Gorbunov
parent
f702417655
commit
af31794f60
@@ -67,4 +67,32 @@ class StringJVMTest {
|
||||
assertEquals("UTF-32LE", Charsets.UTF_32LE.name())
|
||||
assertEquals("UTF-32BE", Charsets.UTF_32BE.name())
|
||||
}
|
||||
|
||||
@ExperimentalStdlibApi
|
||||
@Test fun capitalizeLocale() {
|
||||
assertEquals("ABC", "ABC".capitalize(Locale.US))
|
||||
assertEquals("Abc", "Abc".capitalize(Locale.US))
|
||||
assertEquals("Abc", "abc".capitalize(Locale.US))
|
||||
|
||||
// Locale-specific case mappings.
|
||||
assertEquals("İii", "iii".capitalize(Locale("tr", "TR")))
|
||||
assertEquals("Iii", "iii".capitalize(Locale.US))
|
||||
|
||||
// Case mapping that results in multiple characters (validating Character.toUpperCase was not used).
|
||||
assertEquals("SSßß", "ßßß".capitalize(Locale.US))
|
||||
|
||||
// Case mapping where title case is different than uppercase and so Character.toTitleCase is preferred.
|
||||
assertEquals("Dzdzdz", "dzdzdz".capitalize(Locale.US))
|
||||
}
|
||||
|
||||
@ExperimentalStdlibApi
|
||||
@Test fun decapitalizeLocale() {
|
||||
assertEquals("aBC", "ABC".decapitalize(Locale.US))
|
||||
assertEquals("abc", "Abc".decapitalize(Locale.US))
|
||||
assertEquals("abc", "abc".decapitalize(Locale.US))
|
||||
|
||||
// Locale-specific case mappings.
|
||||
assertEquals("ıII", "III".decapitalize(Locale("tr", "TR")))
|
||||
assertEquals("iII", "III".decapitalize(Locale.US))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user