String.toBoolean() should be String?.toBoolean() #KT-14119
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
|
||||
package kotlin.text
|
||||
|
||||
import kotlin.internal.LowPriorityInOverloadResolution
|
||||
|
||||
expect class Regex {
|
||||
constructor(pattern: String)
|
||||
constructor(pattern: String, option: RegexOption)
|
||||
@@ -282,9 +284,17 @@ public expect val String.Companion.CASE_INSENSITIVE_ORDER: Comparator<String>
|
||||
|
||||
|
||||
/**
|
||||
* Returns `true` if the contents of this string is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
* Returns `true` if the content of this string is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
*/
|
||||
expect fun String.toBoolean(): Boolean
|
||||
@LowPriorityInOverloadResolution
|
||||
@kotlin.internal.InlineOnly
|
||||
public inline fun String.toBoolean(): Boolean = this.toBoolean()
|
||||
|
||||
/**
|
||||
* Returns `true` if this string is not `null` and its content is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
*/
|
||||
@SinceKotlin("1.4")
|
||||
public expect fun String?.toBoolean(): Boolean
|
||||
|
||||
/**
|
||||
* Parses the string as a signed [Byte] number and returns the result.
|
||||
|
||||
@@ -5,14 +5,12 @@
|
||||
|
||||
package kotlin.jdk7.test
|
||||
|
||||
import test.platformNull
|
||||
import java.io.*
|
||||
import java.util.*
|
||||
import kotlin.test.*
|
||||
|
||||
class UseAutoCloseableResourceTest {
|
||||
|
||||
@Suppress("HasPlatformType", "UNCHECKED_CAST") fun <T> platformNull() = Collections.singletonList(null as T).first()
|
||||
|
||||
class Resource(val faultyClose: Boolean = false) : AutoCloseable {
|
||||
|
||||
var isClosed = false
|
||||
|
||||
@@ -5,14 +5,12 @@
|
||||
|
||||
package kotlin.jdk7.test
|
||||
|
||||
import test.platformNull
|
||||
import java.io.*
|
||||
import java.util.*
|
||||
import kotlin.test.*
|
||||
|
||||
class UseCloseableResourceTest {
|
||||
|
||||
@Suppress("HasPlatformType", "UNCHECKED_CAST") fun <T> platformNull() = Collections.singletonList(null as T).first()
|
||||
|
||||
class Resource(val faultyClose: Boolean = false) : Closeable {
|
||||
|
||||
var isClosed = false
|
||||
|
||||
@@ -7,9 +7,10 @@ package kotlin.text
|
||||
|
||||
|
||||
/**
|
||||
* Returns `true` if the contents of this string is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
* Returns `true` if this string is not `null` and its content is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
*/
|
||||
public actual fun String.toBoolean(): Boolean = toLowerCase() == "true"
|
||||
@SinceKotlin("1.4")
|
||||
public actual fun String?.toBoolean(): Boolean = this != null && this.toLowerCase() == "true"
|
||||
|
||||
/**
|
||||
* Parses the string as a signed [Byte] number and returns the result.
|
||||
|
||||
@@ -46,10 +46,12 @@ public actual inline fun Int.toString(radix: Int): String = java.lang.Integer.to
|
||||
public actual inline fun Long.toString(radix: Int): String = java.lang.Long.toString(this, checkRadix(radix))
|
||||
|
||||
/**
|
||||
* Returns `true` if the contents of this string is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
* Returns `true` if this string is not `null` and its content is equal to the word "true", ignoring case, and `false` otherwise.
|
||||
*/
|
||||
@JvmName("toBooleanNullable")
|
||||
@SinceKotlin("1.4")
|
||||
@kotlin.internal.InlineOnly
|
||||
public actual inline fun String.toBoolean(): Boolean = java.lang.Boolean.parseBoolean(this)
|
||||
public actual inline fun String?.toBoolean(): Boolean = java.lang.Boolean.parseBoolean(this)
|
||||
|
||||
/**
|
||||
* Parses the string as a signed [Byte] number and returns the result.
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
package test.io
|
||||
|
||||
import test.platformNull
|
||||
import java.io.*
|
||||
import java.util.*
|
||||
import kotlin.test.*
|
||||
|
||||
class UseCloseableResourceTest {
|
||||
@@ -23,9 +23,6 @@ class UseCloseableResourceTest {
|
||||
assertEquals("World", secondLine)
|
||||
}
|
||||
|
||||
|
||||
@Suppress("HasPlatformType", "UNCHECKED_CAST") fun <T> platformNull() = Collections.singletonList(null as T).first()
|
||||
|
||||
class Resource(val faultyClose: Boolean = false) : Closeable {
|
||||
|
||||
var isClosed = false
|
||||
|
||||
@@ -104,4 +104,19 @@ class StringJVMTest {
|
||||
assertEquals("dzdzdz", "DZdzdz".decapitalize(Locale.US))
|
||||
assertEquals("dzdzdz", "Dzdzdz".decapitalize(Locale.US))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun stringToBoolean() {
|
||||
assertFalse(platformNull<String>().toBoolean())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun stringEquals() {
|
||||
assertFalse(platformNull<String>().equals("sample", ignoreCase = false))
|
||||
assertFalse(platformNull<String>().equals("sample", ignoreCase = true))
|
||||
assertFalse("sample".equals(platformNull<String>(), ignoreCase = false))
|
||||
assertFalse("sample".equals(platformNull(), ignoreCase = true))
|
||||
assertTrue(platformNull<String>().equals(platformNull(), ignoreCase = true))
|
||||
assertTrue(platformNull<String>().equals(platformNull<String>(), ignoreCase = false))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ class StringNumberConversionTest {
|
||||
assertEquals(true, "True".toBoolean())
|
||||
assertEquals(false, "false".toBoolean())
|
||||
assertEquals(false, "not so true".toBoolean())
|
||||
assertEquals(false, (null as String?).toBoolean())
|
||||
}
|
||||
|
||||
@Test fun toByte() {
|
||||
|
||||
Reference in New Issue
Block a user