diff --git a/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Assertions.kt b/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Assertions.kt index 7bdec45de32..de48e23dc97 100644 --- a/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Assertions.kt +++ b/libraries/kotlin.test/common/src/main/kotlin/kotlin/test/Assertions.kt @@ -87,9 +87,10 @@ fun <@OnlyInputTypes T> assertNotSame(illegal: T, actual: T, message: String? = @SinceKotlin("1.5") @InlineOnly @OptIn(ExperimentalStdlibApi::class) -inline fun assertIs(value: Any?, message: String? = null) { +inline fun assertIs(value: Any?, message: String? = null): T { contract { returns() implies (value is T) } assertIsOfType(value, typeOf(), value is T, message) + return value as T } @PublishedApi diff --git a/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt b/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt index 7e68f55f2a4..0c2574f0caa 100644 --- a/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt +++ b/libraries/kotlin.test/common/src/test/kotlin/kotlin/test/tests/BasicAssertionsTest.kt @@ -210,8 +210,10 @@ class BasicAssertionsTest { @Test fun testAssertIsOfType() { val s: Any = "test" - assertIs(s) + val result = assertIs(s) assertEquals(4, s.length) + assertEquals(s, result) + assertEquals(4, result.length) } @OptIn(ExperimentalStdlibApi::class)