Skip to content

Commit 8d53bad

Browse files
authored
Merge pull request #68 from nhaarman/fix-anyarrayofnullables
Make anyArray() accept nullable types.
2 parents 7dcebc9 + 9507a20 commit 8d53bad

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

mockito-kotlin/src/main/kotlin/com/nhaarman/mockito_kotlin/Mockito.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import kotlin.reflect.KClass
4040
fun after(millis: Long) = Mockito.after(millis)
4141

4242
inline fun <reified T : Any> any() = Mockito.any(T::class.java) ?: createInstance<T>()
43-
inline fun <reified T : Any> anyArray(): Array<T> = Mockito.any(Array<T>::class.java) ?: arrayOf()
43+
inline fun <reified T : Any?> anyArray(): Array<T> = Mockito.any(Array<T>::class.java) ?: arrayOf()
4444
inline fun <reified T : Any> anyVararg(): T = Mockito.any<T>() ?: createInstance<T>()
4545
inline fun <reified T : Any> argThat(noinline predicate: T.() -> Boolean) = Mockito.argThat<T> { it -> (it as T).predicate() } ?: createInstance(T::class)
4646

mockito-kotlin/src/test/kotlin/Classes.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ interface Methods {
4343
fun intArray(i: IntArray)
4444
fun closed(c: Closed)
4545
fun closedArray(a: Array<Closed>)
46+
fun closedNullableArray(a: Array<Closed?>)
4647
fun closedCollection(c: Collection<Closed>)
4748
fun closedList(c: List<Closed>)
4849
fun closedStringMap(m: Map<Closed, String>)

mockito-kotlin/src/test/kotlin/MockitoTest.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,14 @@ class MockitoTest {
6464
}
6565
}
6666

67+
@Test
68+
fun anyNullableClassArray() {
69+
mock<Methods>().apply {
70+
closedNullableArray(arrayOf(Closed(), null))
71+
verify(this).closedNullableArray(anyArray())
72+
}
73+
}
74+
6775
@Test
6876
fun anyCollectionOfClosed() {
6977
mock<Methods>().apply {

0 commit comments

Comments
 (0)