Tests for private members and accessors for them
This commit is contained in:
committed by
Max Kammerer
parent
8641dbf42a
commit
3b02498ca8
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
@file:kotlin.jvm.JvmMultifileClass
|
||||
@file:kotlin.jvm.JvmName("TestKt")
|
||||
package test
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
private var prop = "O"
|
||||
|
||||
private fun test() = "K"
|
||||
|
||||
fun box(): String {
|
||||
|
||||
val clazz = Class.forName("test.TestKt")
|
||||
assertEquals(1, clazz.declaredMethods.size(), "Facade should have only box and getProp methods")
|
||||
assertEquals("box", clazz.declaredMethods.first().name, "Facade should have only box method")
|
||||
|
||||
return {
|
||||
prop + test()
|
||||
}()
|
||||
}
|
||||
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
@file:kotlin.jvm.JvmMultifileClass
|
||||
@file:kotlin.jvm.JvmName("TestKt")
|
||||
package test
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
public var prop = "fail"
|
||||
private set
|
||||
|
||||
private fun test() = "K"
|
||||
|
||||
fun box(): String {
|
||||
|
||||
val clazz = Class.forName("test.TestKt")
|
||||
assertEquals(2, clazz.declaredMethods.size(), "Facade should have only box method")
|
||||
val methods = clazz.declaredMethods.map { it.name }
|
||||
assertTrue(methods.contains("box"), "Facade should have box method")
|
||||
assertTrue(methods.contains("getProp"), "Facade should have box method")
|
||||
|
||||
return {
|
||||
prop = "O"
|
||||
prop + test()
|
||||
}()
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package test
|
||||
|
||||
private val prop = "O"
|
||||
|
||||
private fun test() = "K"
|
||||
|
||||
inline internal fun call(p: () -> String): String = p()
|
||||
|
||||
inline internal fun inlineFun(): String {
|
||||
return call {
|
||||
object {
|
||||
fun run() = prop + test()
|
||||
}.run()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return inlineFun();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package test
|
||||
|
||||
private val prop = "O"
|
||||
|
||||
private fun test() = "K"
|
||||
|
||||
fun box(): String {
|
||||
return {
|
||||
prop + test()
|
||||
}()
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
@file:kotlin.jvm.JvmMultifileClass
|
||||
@file:kotlin.jvm.JvmName("TestKt")
|
||||
package test
|
||||
|
||||
private val prop = "O"
|
||||
|
||||
private fun test() = "K"
|
||||
|
||||
fun box(): String {
|
||||
return {
|
||||
prop + test()
|
||||
}()
|
||||
}
|
||||
Reference in New Issue
Block a user