@ -19,7 +19,6 @@ package org.springframework.web.reactive.result
@@ -19,7 +19,6 @@ package org.springframework.web.reactive.result
import io.mockk.every
import io.mockk.mockk
import kotlinx.coroutines.delay
import org.assertj.core.api.Assertions
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
import org.springframework.core.MethodParameter
@ -178,11 +177,19 @@ class InvocableHandlerMethodKotlinTests {
@@ -178,11 +177,19 @@ class InvocableHandlerMethodKotlinTests {
@Test
fun nullReturnValue ( ) {
val method = NullResultController :: nullable . javaMethod !!
val method = NullResultController :: nullableReturnValue . javaMethod !!
val result = invoke ( NullResultController ( ) , method )
assertHandlerResultValue ( result , null )
}
@Test
fun nullParameter ( ) {
this . resolvers . add ( stubResolver ( null , String :: class . java ) )
val method = NullResultController :: nullableParameter . javaMethod !!
val result = invoke ( NullResultController ( ) , method , null )
assertHandlerResultValue ( result , null )
}
@Test
fun valueClass ( ) {
this . resolvers . add ( stubResolver ( 1L , Long :: class . java ) )
@ -192,7 +199,7 @@ class InvocableHandlerMethodKotlinTests {
@@ -192,7 +199,7 @@ class InvocableHandlerMethodKotlinTests {
}
@Test
fun valueClassDefaultValue ( ) {
fun valueClassWith DefaultValue ( ) {
this . resolvers . add ( stubResolver ( null , Double :: class . java ) )
val method = ValueClassController :: valueClassWithDefault . javaMethod !!
val result = invoke ( ValueClassController ( ) , method )
@ -207,6 +214,14 @@ class InvocableHandlerMethodKotlinTests {
@@ -207,6 +214,14 @@ class InvocableHandlerMethodKotlinTests {
assertExceptionThrown ( result , IllegalArgumentException :: class )
}
@Test
fun valueClassWithNullable ( ) {
this . resolvers . add ( stubResolver ( null , LongValueClass :: class . java ) )
val method = ValueClassController :: valueClassWithNullable . javaMethod !!
val result = invoke ( ValueClassController ( ) , method , null )
assertHandlerResultValue ( result , " null " )
}
@Test
fun propertyAccessor ( ) {
this . resolvers . add ( stubResolver ( null , String :: class . java ) )
@ -321,9 +336,13 @@ class InvocableHandlerMethodKotlinTests {
@@ -321,9 +336,13 @@ class InvocableHandlerMethodKotlinTests {
fun unit ( ) {
}
fun nullable ( ) : String ? {
fun nullableReturnValue ( ) : String ? {
return null
}
fun nullableParameter ( value : String ? ) : String ? {
return value
}
}
class ValueClassController {
@ -337,6 +356,9 @@ class InvocableHandlerMethodKotlinTests {
@@ -337,6 +356,9 @@ class InvocableHandlerMethodKotlinTests {
fun valueClassWithInit ( valueClass : ValueClassWithInit ) =
valueClass
fun valueClassWithNullable ( limit : LongValueClass ? ) =
" ${limit?.value} "
}
class PropertyAccessorController {