JS: create new common directory for all generated tests, migrate several tests there

This commit is contained in:
Alexey Andreev
2016-08-26 16:44:48 +03:00
parent 34a57f863b
commit 2bf0199959
321 changed files with 2123 additions and 2001 deletions
@@ -0,0 +1,47 @@
package foo
interface Base {
abstract fun foo(s: String): String
var prop: String
}
interface Base1 : Base {
}
interface Base2 : Base1 {
override fun foo(s: String): String = "Base2:foo ${s}"
}
class Base2Impl() : Base2 {
override var prop: String = ""
set(value) {
field = "prop:${value}"
}
}
class Derived() : Base by Base2Impl()
class Derived1() : Base1 by Base2Impl()
class Derived2() : Base2 by Base2Impl()
fun box(): String {
assertEquals("Base2:foo !!", Derived().foo("!!"), "delegation (Base)")
assertEquals("Base2:foo !!", Derived1().foo("!!"), "delegation (Base1)")
assertEquals("Base2:foo !!", Derived2().foo("!!"), "delegation (Base2)")
var d = Derived()
d.prop = "A"
assertEquals("prop:A", d.prop, "delegation (Base) set property")
var d1 = Derived1()
d1.prop = "B"
assertEquals("prop:B", d1.prop, "delegation (Base1) set property")
var d2 = Derived1()
d2.prop = "C"
assertEquals("prop:C", d2.prop, "delegation (Base2) set property")
return "OK"
}