[PL][tests] Keep PL test data under "testData/klib/" dir

This commit is contained in:
Dmitriy Dolovov
2023-08-15 14:38:02 +02:00
committed by Space Team
parent 9e3afe7a1f
commit 5c3e63e19a
186 changed files with 156 additions and 156 deletions
@@ -0,0 +1,45 @@
sealed class SC1 {
class C1 : SC1()
object O1 : SC1()
// class Added : SC1()
class C2 : SC1()
object O2 : SC1()
}
sealed class SC2 {
class C1 : SC2()
object O1 : SC2()
// object Added : SC2()
class C2 : SC2()
object O2 : SC2()
}
sealed interface SI1 {
class C1 : SI1
object O1 : SI1
interface I1 : SI1
// class Added : SI1
class C2 : SI1
object O2 : SI1
interface I2 : SI1
}
sealed interface SI2 {
class C1 : SI2
object O1 : SI2
interface I1 : SI2
// object Added : SI2
class C2 : SI2
object O2 : SI2
interface I2 : SI2
}
sealed interface SI3 {
class C1 : SI3
object O1 : SI3
interface I1 : SI3
// interface Added : SI3
class C2 : SI3
object O2 : SI3
interface I2 : SI3
}
@@ -0,0 +1,45 @@
sealed class SC1 {
class C1 : SC1()
object O1 : SC1()
class Added : SC1()
class C2 : SC1()
object O2 : SC1()
}
sealed class SC2 {
class C1 : SC2()
object O1 : SC2()
object Added : SC2()
class C2 : SC2()
object O2 : SC2()
}
sealed interface SI1 {
class C1 : SI1
object O1 : SI1
interface I1 : SI1
class Added : SI1
class C2 : SI1
object O2 : SI1
interface I2 : SI1
}
sealed interface SI2 {
class C1 : SI2
object O1 : SI2
interface I1 : SI2
object Added : SI2
class C2 : SI2
object O2 : SI2
interface I2 : SI2
}
sealed interface SI3 {
class C1 : SI3
object O1 : SI3
interface I1 : SI3
interface Added : SI3
class C2 : SI3
object O2 : SI3
interface I2 : SI3
}
@@ -0,0 +1,6 @@
STEP 0:
dependencies: stdlib
STEP 1:
dependencies: stdlib
modifications:
U : l1.kt.1 -> l1.kt
@@ -0,0 +1,40 @@
fun compute(sealedClass: SC1): String = when (sealedClass) {
is SC1.C1 -> "OK"
SC1.O1 -> "OK"
is SC1.C2 -> "OK"
SC1.O2 -> "OK"
}
fun compute(sealedClass: SC2): String = when (sealedClass) {
is SC2.C1 -> "OK"
SC2.O1 -> "OK"
is SC2.C2 -> "OK"
SC2.O2 -> "OK"
}
fun compute(sealedInterface: SI1): String = when (sealedInterface) {
is SI1.C1 -> "OK"
SI1.O1 -> "OK"
is SI1.I1 -> "OK"
is SI1.C2 -> "OK"
SI1.O2 -> "OK"
is SI1.I2 -> "OK"
}
fun compute(sealedInterface: SI2): String = when (sealedInterface) {
is SI2.C1 -> "OK"
SI2.O1 -> "OK"
is SI2.I1 -> "OK"
is SI2.C2 -> "OK"
SI2.O2 -> "OK"
is SI2.I2 -> "OK"
}
fun compute(sealedInterface: SI3): String = when (sealedInterface) {
is SI3.C1 -> "OK"
SI3.O1 -> "OK"
is SI3.I1 -> "OK"
is SI3.C2 -> "OK"
SI3.O2 -> "OK"
is SI3.I2 -> "OK"
}
@@ -0,0 +1,2 @@
STEP 0:
dependencies: stdlib, lib1
@@ -0,0 +1,39 @@
import abitestutils.abiTest
fun box() = abiTest {
expectSuccess { compute(SC1.C1()) }
expectSuccess { compute(SC1.O1) }
expectFailure(noWhenBranch()) { compute(SC1.Added()) }
expectSuccess { compute(SC1.C2()) }
expectSuccess { compute(SC1.O2) }
expectSuccess { compute(SC2.C1()) }
expectSuccess { compute(SC2.O1) }
expectFailure(noWhenBranch()) { compute(SC2.Added) }
expectSuccess { compute(SC2.C2()) }
expectSuccess { compute(SC2.O2) }
expectSuccess { compute(SI1.C1()) }
expectSuccess { compute(SI1.O1) }
expectSuccess { compute(object : SI1.I1 {}) }
expectFailure(noWhenBranch()) { compute(SI1.Added()) }
expectSuccess { compute(SI1.C2()) }
expectSuccess { compute(SI1.O2) }
expectSuccess { compute(object : SI1.I2 {}) }
expectSuccess { compute(SI2.C1()) }
expectSuccess { compute(SI2.O1) }
expectSuccess { compute(object : SI2.I1 {}) }
expectFailure(noWhenBranch()) { compute(SI2.Added) }
expectSuccess { compute(SI2.C2()) }
expectSuccess { compute(SI2.O2) }
expectSuccess { compute(object : SI2.I2 {}) }
expectSuccess { compute(SI3.C1()) }
expectSuccess { compute(SI3.O1) }
expectSuccess { compute(object : SI3.I1 {}) }
expectFailure(noWhenBranch()) { compute(object : SI3.Added {}) }
expectSuccess { compute(SI3.C2()) }
expectSuccess { compute(SI3.O2) }
expectSuccess { compute(object : SI3.I2 {}) }
}
@@ -0,0 +1,2 @@
STEP 1:
dependencies: stdlib, lib1, lib2
@@ -0,0 +1,7 @@
MODULES: lib1, lib2, main
STEP 0:
libs: lib1, lib2
STEP 1:
libs: lib1, main