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

@@ -87,17 +87,24 @@ class InvocableHandlerMethodKotlinTests {
@Test
fun valueClass() {
composite.addResolver(StubArgumentResolver(Long::class.java, 1L))
val value = getInvocable(Handler::class.java, Long::class.java).invokeForRequest(request, null)
val value = getInvocable(ValueClassHandler::class.java, Long::class.java).invokeForRequest(request, null)
Assertions.assertThat(value).isEqualTo(1L)
}
@Test
fun valueClassDefaultValue() {
composite.addResolver(StubArgumentResolver(Double::class.java))
val value = getInvocable(Handler::class.java, Double::class.java).invokeForRequest(request, null)
val value = getInvocable(ValueClassHandler::class.java, Double::class.java).invokeForRequest(request, null)
Assertions.assertThat(value).isEqualTo(3.1)
}
@Test
fun valueClassWithInit() {
composite.addResolver(StubArgumentResolver(String::class.java, ""))
val invocable = getInvocable(ValueClassHandler::class.java, String::class.java)
Assertions.assertThatIllegalArgumentException().isThrownBy { invocable.invokeForRequest(request, null) }
}
@Test
fun propertyAccessor() {
val value = getInvocable(PropertyAccessorHandler::class.java).invokeForRequest(request, null)
@@ -153,11 +160,19 @@ class InvocableHandlerMethodKotlinTests {
return null
}
}
private class ValueClassHandler {
fun valueClass(limit: LongValueClass) =
limit.value
fun valueClass(limit: DoubleValueClass = DoubleValueClass(3.1)) =
limit.value
fun valueClassWithInit(valueClass: ValueClassWithInit) =
valueClass
}
private class PropertyAccessorHandler {
@@ -183,6 +198,15 @@ class InvocableHandlerMethodKotlinTests {
@JvmInline
value class DoubleValueClass(val value: Double)
@JvmInline
value class ValueClassWithInit(val value: String) {
init {
if (value.isEmpty()) {
throw IllegalArgumentException()
}
}
}
class CustomException(message: String) : Throwable(message)
}