Skip to content

Commit 1eead3e

Browse files
committed
Return passed value instead of trying to create an instance
This also enables a nullable value to be passed to eq().
1 parent a831657 commit 1eead3e

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ fun doReturn(toBeReturned: Any?, vararg toBeReturnedNext: Any?): Stubber = Mocki
7272
fun doThrow(toBeThrown: KClass<out Throwable>): Stubber = Mockito.doThrow(toBeThrown.java)!!
7373
fun doThrow(vararg toBeThrown: Throwable): Stubber = Mockito.doThrow(*toBeThrown)!!
7474

75-
inline fun <reified T : Any> eq(value: T): T = Mockito.eq(value) ?: createInstance<T>()
75+
fun <T> eq(value: T): T = Mockito.eq(value) ?: value
7676
fun ignoreStubs(vararg mocks: Any): Array<out Any> = Mockito.ignoreStubs(*mocks)!!
7777
fun inOrder(vararg mocks: Any): InOrder = Mockito.inOrder(*mocks)!!
7878

@@ -138,7 +138,7 @@ fun <T> refEq(value: T, vararg excludeFields: String): T? = Mockito.refEq(value,
138138

139139
fun <T> reset(vararg mocks: T) = Mockito.reset(*mocks)
140140

141-
fun <T> same(value: T): T? = Mockito.same(value)
141+
fun <T> same(value: T): T? = Mockito.same(value) ?: value
142142

143143
inline fun <reified T : Any> spy(): T = Mockito.spy(T::class.java)!!
144144
fun <T> spy(value: T): T = Mockito.spy(value)!!

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,18 @@ class EqTest {
7878
expect(result).toNotBeNull()
7979
}
8080

81+
@Test
82+
fun nullArgument() {
83+
/* Given */
84+
val s: String? = null
85+
86+
/* When */
87+
val result = eq(s)
88+
89+
/* Then */
90+
expect(result).toBeNull()
91+
}
92+
8193
private interface MyInterface
8294
private open class MyClass : MyInterface
8395
class ClosedClass

0 commit comments

Comments
 (0)