String.toBoolean() should be String?.toBoolean() #KT-14119
This commit is contained in:
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
package kotlin.text
|
package kotlin.text
|
||||||
|
|
||||||
|
import kotlin.internal.LowPriorityInOverloadResolution
|
||||||
|
|
||||||
expect class Regex {
|
expect class Regex {
|
||||||
constructor(pattern: String)
|
constructor(pattern: String)
|
||||||
constructor(pattern: String, option: RegexOption)
|
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.
|
* Parses the string as a signed [Byte] number and returns the result.
|
||||||
|
|||||||
@@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
package kotlin.jdk7.test
|
package kotlin.jdk7.test
|
||||||
|
|
||||||
|
import test.platformNull
|
||||||
import java.io.*
|
import java.io.*
|
||||||
import java.util.*
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
class UseAutoCloseableResourceTest {
|
class UseAutoCloseableResourceTest {
|
||||||
|
|
||||||
@Suppress("HasPlatformType", "UNCHECKED_CAST") fun <T> platformNull() = Collections.singletonList(null as T).first()
|
|
||||||
|
|
||||||
class Resource(val faultyClose: Boolean = false) : AutoCloseable {
|
class Resource(val faultyClose: Boolean = false) : AutoCloseable {
|
||||||
|
|
||||||
var isClosed = false
|
var isClosed = false
|
||||||
|
|||||||
@@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
package kotlin.jdk7.test
|
package kotlin.jdk7.test
|
||||||
|
|
||||||
|
import test.platformNull
|
||||||
import java.io.*
|
import java.io.*
|
||||||
import java.util.*
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
class UseCloseableResourceTest {
|
class UseCloseableResourceTest {
|
||||||
|
|
||||||
@Suppress("HasPlatformType", "UNCHECKED_CAST") fun <T> platformNull() = Collections.singletonList(null as T).first()
|
|
||||||
|
|
||||||
class Resource(val faultyClose: Boolean = false) : Closeable {
|
class Resource(val faultyClose: Boolean = false) : Closeable {
|
||||||
|
|
||||||
var isClosed = false
|
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.
|
* 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))
|
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
|
@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.
|
* Parses the string as a signed [Byte] number and returns the result.
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
package test.io
|
package test.io
|
||||||
|
|
||||||
|
import test.platformNull
|
||||||
import java.io.*
|
import java.io.*
|
||||||
import java.util.*
|
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
class UseCloseableResourceTest {
|
class UseCloseableResourceTest {
|
||||||
@@ -23,9 +23,6 @@ class UseCloseableResourceTest {
|
|||||||
assertEquals("World", secondLine)
|
assertEquals("World", secondLine)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Suppress("HasPlatformType", "UNCHECKED_CAST") fun <T> platformNull() = Collections.singletonList(null as T).first()
|
|
||||||
|
|
||||||
class Resource(val faultyClose: Boolean = false) : Closeable {
|
class Resource(val faultyClose: Boolean = false) : Closeable {
|
||||||
|
|
||||||
var isClosed = false
|
var isClosed = false
|
||||||
|
|||||||
@@ -104,4 +104,19 @@ class StringJVMTest {
|
|||||||
assertEquals("dzdzdz", "DZdzdz".decapitalize(Locale.US))
|
assertEquals("dzdzdz", "DZdzdz".decapitalize(Locale.US))
|
||||||
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(true, "True".toBoolean())
|
||||||
assertEquals(false, "false".toBoolean())
|
assertEquals(false, "false".toBoolean())
|
||||||
assertEquals(false, "not so true".toBoolean())
|
assertEquals(false, "not so true".toBoolean())
|
||||||
|
assertEquals(false, (null as String?).toBoolean())
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun toByte() {
|
@Test fun toByte() {
|
||||||
|
|||||||
Reference in New Issue
Block a user