String.format does not support no locale #KT-22932
This commit is contained in:
@@ -15,6 +15,7 @@ import java.nio.charset.Charset
|
||||
import java.nio.charset.CodingErrorAction
|
||||
import java.util.Locale
|
||||
import java.util.regex.Pattern
|
||||
import kotlin.internal.LowPriorityInOverloadResolution
|
||||
|
||||
|
||||
/**
|
||||
@@ -288,17 +289,38 @@ public inline fun String.Companion.format(format: String, vararg args: Any?): St
|
||||
* Uses this string as a format string and returns a string obtained by substituting the specified arguments,
|
||||
* using the specified locale.
|
||||
*/
|
||||
@LowPriorityInOverloadResolution
|
||||
@kotlin.internal.InlineOnly
|
||||
public inline fun String.format(locale: Locale, vararg args: Any?): String = java.lang.String.format(locale, this, *args)
|
||||
|
||||
/**
|
||||
* Uses this string as a format string and returns a string obtained by substituting the specified arguments,
|
||||
* using the specified locale. If [locale] is `null` then no localization is applied.
|
||||
*/
|
||||
@SinceKotlin("1.4")
|
||||
@JvmName("formatNullable")
|
||||
@kotlin.internal.InlineOnly
|
||||
public inline fun String.format(locale: Locale?, vararg args: Any?): String = java.lang.String.format(locale, this, *args)
|
||||
|
||||
/**
|
||||
* Uses the provided [format] as a format string and returns a string obtained by substituting the specified arguments,
|
||||
* using the specified locale.
|
||||
*/
|
||||
@LowPriorityInOverloadResolution
|
||||
@kotlin.internal.InlineOnly
|
||||
public inline fun String.Companion.format(locale: Locale, format: String, vararg args: Any?): String =
|
||||
java.lang.String.format(locale, format, *args)
|
||||
|
||||
/**
|
||||
* Uses the provided [format] as a format string and returns a string obtained by substituting the specified arguments,
|
||||
* using the specified locale. If [locale] is `null` then no localization is applied.
|
||||
*/
|
||||
@SinceKotlin("1.4")
|
||||
@JvmName("formatNullable")
|
||||
@kotlin.internal.InlineOnly
|
||||
public inline fun String.Companion.format(locale: Locale?, format: String, vararg args: Any?): String =
|
||||
java.lang.String.format(locale, format, *args)
|
||||
|
||||
/**
|
||||
* Splits this char sequence around matches of the given regular expression.
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
package test
|
||||
|
||||
import java.util.*
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
public actual fun assertTypeEquals(expected: Any?, actual: Any?) {
|
||||
@@ -26,4 +27,7 @@ internal actual inline fun testOnNonJvm6And7(f: () -> Unit) {
|
||||
}
|
||||
}
|
||||
public actual fun testOnJvm(action: () -> Unit) = action()
|
||||
public actual fun testOnJs(action: () -> Unit) {}
|
||||
public actual fun testOnJs(action: () -> Unit) {}
|
||||
|
||||
@Suppress("HasPlatformType", "UNCHECKED_CAST")
|
||||
public fun <T> platformNull() = Collections.singletonList(null as T).first()
|
||||
@@ -6,6 +6,7 @@
|
||||
package test.text
|
||||
|
||||
import test.collections.assertArrayNotSameButEquals
|
||||
import test.platformNull
|
||||
import java.util.*
|
||||
import kotlin.test.*
|
||||
|
||||
@@ -41,9 +42,14 @@ class StringJVMTest {
|
||||
assertEquals("1,234,567.890", "%,.3f".format(Locale.ENGLISH, 1234567.890))
|
||||
assertEquals("1.234.567,890", "%,.3f".format(Locale.GERMAN, 1234567.890))
|
||||
assertEquals("1 234 567,890", "%,.3f".format(Locale("fr"), 1234567.890))
|
||||
assertEquals("1,234,567.890", "%,.3f".format(null, 1234567.890))
|
||||
assertEquals("1,234,567.890", "%,.3f".format(platformNull<Locale>(), 1234567.890))
|
||||
|
||||
assertEquals("1,234,567.890", String.format(Locale.ENGLISH, "%,.3f", 1234567.890))
|
||||
assertEquals("1.234.567,890", String.format(Locale.GERMAN, "%,.3f", 1234567.890))
|
||||
assertEquals("1 234 567,890", String.format(Locale("fr"), "%,.3f", 1234567.890))
|
||||
assertEquals("1,234,567.890", String.format(null, "%,.3f", 1234567.890))
|
||||
assertEquals("1,234,567.890", String.format(platformNull<Locale>(), "%,.3f", 1234567.890))
|
||||
}
|
||||
|
||||
@Test fun toByteArrayEncodings() {
|
||||
|
||||
Reference in New Issue
Block a user