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
|
* @author Sebastien Deleuze
|
||||||
* @since 5.1
|
* @since 5.1
|
||||||
*/
|
*/
|
||||||
inline fun <reified T> PropertyResolver.getProperty(key: String) : T =
|
inline fun <reified T> PropertyResolver.getProperty(key: String) : T? =
|
||||||
getProperty(key, T::class.java) as T
|
getProperty(key, T::class.java)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extension for [PropertyResolver.getRequiredProperty] providing a
|
* Extension for [PropertyResolver.getRequiredProperty] providing a
|
||||||
|
|
@ -49,5 +49,5 @@ inline fun <reified T> PropertyResolver.getProperty(key: String) : T =
|
||||||
* @author Sebastien Deleuze
|
* @author Sebastien Deleuze
|
||||||
* @since 5.1
|
* @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)
|
getRequiredProperty(key, T::class.java)
|
||||||
|
|
|
||||||
|
|
@ -40,21 +40,14 @@ class PropertyResolverExtensionsTests {
|
||||||
@Test
|
@Test
|
||||||
fun `getProperty extension`() {
|
fun `getProperty extension`() {
|
||||||
every { propertyResolver.getProperty("name", String::class.java) } returns "foo"
|
every { propertyResolver.getProperty("name", String::class.java) } returns "foo"
|
||||||
propertyResolver.getProperty<String>("name")
|
val name: String? = 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")
|
|
||||||
verify { propertyResolver.getProperty("name", String::class.java) }
|
verify { propertyResolver.getProperty("name", String::class.java) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `getRequiredProperty extension`() {
|
fun `getRequiredProperty extension`() {
|
||||||
every { propertyResolver.getRequiredProperty("name", String::class.java) } returns "foo"
|
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) }
|
verify { propertyResolver.getRequiredProperty("name", String::class.java) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue