[K/N][Tests] Move codegen test sources cycles..innerClass

^KT-61259
This commit is contained in:
Vladimir Sukharev
2023-12-13 23:53:55 +01:00
committed by Space Team
parent 35d2be25b2
commit 71a834b778
282 changed files with 2376 additions and 756 deletions
@@ -0,0 +1,18 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.lazy
import kotlin.test.*
val lazyValue: String by lazy {
println("computed!")
"Hello"
}
@Test fun runTest() {
println(lazyValue)
println(lazyValue)
}
@@ -0,0 +1,3 @@
computed!
Hello
Hello
@@ -0,0 +1,27 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.local
import kotlin.test.*
import kotlin.reflect.KProperty
fun foo(): Int {
class Delegate {
operator fun getValue(receiver: Any?, p: KProperty<*>): Int {
println(p.name)
return 42
}
}
val x: Int by Delegate()
return x
}
@Test fun runTest() {
println(foo())
}
@@ -0,0 +1,2 @@
x
42
@@ -0,0 +1,22 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.map
import kotlin.test.*
class User(val map: Map<String, Any?>) {
val name: String by map
val age: Int by map
}
@Test fun runTest() {
val user = User(mapOf(
"name" to "John Doe",
"age" to 25
))
println(user.name) // Prints "John Doe"
println(user.age) // Prints 25
}
@@ -0,0 +1,2 @@
John Doe
25
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.observable
import kotlin.test.*
import kotlin.properties.Delegates
class User {
var name: String by Delegates.observable("<no name>") {
prop, old, new ->
println("$old -> $new")
}
}
@Test fun runTest() {
val user = User()
user.name = "first"
user.name = "second"
}
@@ -0,0 +1,2 @@
<no name> -> first
first -> second
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.packageLevel
import kotlin.test.*
import kotlin.reflect.KProperty
class Delegate {
operator fun getValue(receiver: Any?, p: KProperty<*>): Int {
println(p.name)
return 42
}
}
val x: Int by Delegate()
@Test fun runTest() {
println(x)
}
@@ -0,0 +1,2 @@
x
42
@@ -0,0 +1,25 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.simpleVal
import kotlin.test.*
import kotlin.reflect.KProperty
class Delegate {
operator fun getValue(receiver: Any?, p: KProperty<*>): Int {
println(p.name)
return 42
}
}
class C {
val x: Int by Delegate()
}
@Test fun runTest() {
println(C().x)
}
@@ -0,0 +1,2 @@
x
42
@@ -0,0 +1,35 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
package codegen.delegatedProperty.simpleVar
import kotlin.test.*
import kotlin.reflect.KProperty
class Delegate {
var f: Int = 42
operator fun getValue(receiver: Any?, p: KProperty<*>): Int {
println("get ${p.name}")
return f
}
operator fun setValue(receiver: Any?, p: KProperty<*>, value: Int) {
println("set ${p.name}")
f = value
}
}
class C {
var x: Int by Delegate()
}
@Test fun runTest() {
val c = C()
println(c.x)
c.x = 117
println(c.x)
}
@@ -0,0 +1,5 @@
get x
42
set x
get x
117