Merge branch '6.1.x'

This commit is contained in:
Sébastien Deleuze
2024-03-01 11:55:08 +01:00
6 changed files with 85 additions and 31 deletions

View File

@@ -154,6 +154,17 @@ class CoroutinesUtilsTests {
}
}
@Test
fun invokeSuspendingFunctionWithValueClassWithInitParameter() {
val method = CoroutinesUtilsTests::class.java.declaredMethods.first { it.name.startsWith("suspendingFunctionWithValueClassWithInit") }
val mono = CoroutinesUtils.invokeSuspendingFunction(method, this, "", null) as Mono
Assertions.assertThatIllegalArgumentException().isThrownBy {
runBlocking {
mono.awaitSingle()
}
}
}
@Test
fun invokeSuspendingFunctionWithExtension() {
val method = CoroutinesUtilsTests::class.java.getDeclaredMethod("suspendingFunctionWithExtension",
@@ -206,6 +217,11 @@ class CoroutinesUtilsTests {
return value.value
}
suspend fun suspendingFunctionWithValueClassWithInit(value: ValueClassWithInit): String {
delay(1)
return value.value
}
suspend fun CustomException.suspendingFunctionWithExtension(): String {
delay(1)
return "${this.message}"
@@ -219,6 +235,15 @@ class CoroutinesUtilsTests {
@JvmInline
value class ValueClass(val value: String)
@JvmInline
value class ValueClassWithInit(val value: String) {
init {
if (value.isEmpty()) {
throw IllegalArgumentException()
}
}
}
class CustomException(message: String) : Throwable(message)
}