[K/N][Tests] Move codegen test sources interfaceCallsNCasts..vector
^KT-61259
This commit is contained in:
committed by
Space Team
parent
56e1c5cbc6
commit
93642020ff
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* 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.lateinit.globalIsInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
lateinit var s: String
|
||||
|
||||
fun foo() {
|
||||
println(::s.isInitialized)
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
foo()
|
||||
s = "zzz"
|
||||
foo()
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
false
|
||||
true
|
||||
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* 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.lateinit.inBaseClass
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
class A(val a: Int)
|
||||
|
||||
open class B {
|
||||
lateinit var a: A
|
||||
}
|
||||
|
||||
class C: B() {
|
||||
fun foo() { a = A(42) }
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
val c = C()
|
||||
c.foo()
|
||||
println(c.a.a)
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
42
|
||||
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* 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.lateinit.initialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
class A {
|
||||
lateinit var s: String
|
||||
|
||||
fun foo() = s
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
val a = A()
|
||||
a.s = "zzz"
|
||||
println(a.foo())
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
zzz
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 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.lateinit.innerIsInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
open class Foo {
|
||||
lateinit var bar: String
|
||||
|
||||
fun test(): String {
|
||||
return InnerSubclass().testInner()
|
||||
}
|
||||
|
||||
inner class InnerSubclass : Foo() {
|
||||
fun testInner(): String {
|
||||
// This is access to InnerSubclass.bar which is inherited from Foo.bar
|
||||
if (this::bar.isInitialized) return "Fail"
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
println(Foo().test())
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
OK
|
||||
@@ -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.lateinit.isInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
class A {
|
||||
lateinit var s: String
|
||||
|
||||
fun foo() {
|
||||
println(::s.isInitialized)
|
||||
}
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
val a = A()
|
||||
a.foo()
|
||||
a.s = "zzz"
|
||||
a.foo()
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
false
|
||||
true
|
||||
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* 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.lateinit.localCapturedInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
@Test fun runTest() {
|
||||
lateinit var s: String
|
||||
|
||||
fun foo() = s
|
||||
|
||||
s = "zzz"
|
||||
println(foo())
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
zzz
|
||||
@@ -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.lateinit.localCapturedNotInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
@Test fun runTest() {
|
||||
lateinit var s: String
|
||||
|
||||
fun foo() = s
|
||||
|
||||
try {
|
||||
println(foo())
|
||||
}
|
||||
catch (e: RuntimeException) {
|
||||
println("OK")
|
||||
return
|
||||
}
|
||||
println("Fail")
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
OK
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* 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.lateinit.localInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
@Test fun runTest() {
|
||||
lateinit var s: String
|
||||
s = "zzz"
|
||||
println(s)
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
zzz
|
||||
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* 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.lateinit.localNotInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
@Test fun runTest() {
|
||||
lateinit var s: String
|
||||
|
||||
try {
|
||||
println(s)
|
||||
}
|
||||
catch (e: RuntimeException) {
|
||||
println("OK")
|
||||
return
|
||||
}
|
||||
println("Fail")
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
OK
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* 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.lateinit.notInitialized
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
class A {
|
||||
lateinit var s: String
|
||||
|
||||
fun foo() = s
|
||||
}
|
||||
|
||||
@Test fun runTest() {
|
||||
val a = A()
|
||||
try {
|
||||
println(a.foo())
|
||||
}
|
||||
catch (e: RuntimeException) {
|
||||
println("OK")
|
||||
return
|
||||
}
|
||||
println("Fail")
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
OK
|
||||
Reference in New Issue
Block a user