Refine PropertyResolver extensions null-safety
See gh-22687
This commit is contained in:
parent
bf9dea4254
commit
811f315440
|
|
@ -39,8 +39,8 @@ operator fun PropertyResolver.get(key: String) : String? = getProperty(key)
|
|||
* @author Sebastien Deleuze
|
||||
* @since 5.1
|
||||
*/
|
||||
inline fun <reified T> PropertyResolver.getProperty(key: String) : T =
|
||||
getProperty(key, T::class.java) as T
|
||||
inline fun <reified T> PropertyResolver.getProperty(key: String) : T? =
|
||||
getProperty(key, T::class.java)
|
||||
|
||||
/**
|
||||
* Extension for [PropertyResolver.getRequiredProperty] providing a
|
||||
|
|
@ -49,5 +49,5 @@ inline fun <reified T> PropertyResolver.getProperty(key: String) : T =
|
|||
* @author Sebastien Deleuze
|
||||
* @since 5.1
|
||||
*/
|
||||
inline fun <reified T> PropertyResolver.getRequiredProperty(key: String) : T =
|
||||
inline fun <reified T: Any> PropertyResolver.getRequiredProperty(key: String) : T =
|
||||
getRequiredProperty(key, T::class.java)
|
||||
|
|
|
|||
|
|
@ -40,21 +40,14 @@ class PropertyResolverExtensionsTests {
|
|||
@Test
|
||||
fun `getProperty extension`() {
|
||||
every { propertyResolver.getProperty("name", String::class.java) } returns "foo"
|
||||
propertyResolver.getProperty<String>("name")
|
||||
verify { propertyResolver.getProperty("name", String::class.java) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `getProperty extension with nullable type`() {
|
||||
every { propertyResolver.getProperty("name", String::class.java) } returns null
|
||||
propertyResolver.getProperty<String?>("name")
|
||||
val name: String? = propertyResolver.getProperty<String>("name")
|
||||
verify { propertyResolver.getProperty("name", String::class.java) }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `getRequiredProperty extension`() {
|
||||
every { propertyResolver.getRequiredProperty("name", String::class.java) } returns "foo"
|
||||
propertyResolver.getRequiredProperty<String>("name")
|
||||
val name: String = propertyResolver.getRequiredProperty<String>("name")
|
||||
verify { propertyResolver.getRequiredProperty("name", String::class.java) }
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue