Files
kotlin-fork/js/js.translator/testData/operatorOverloading/cases/overloadByLambda.kt
T
Zalim Bashorov 898275e658 JS backend: added tests for infix calls.
#KT-3998   in progress
 #EA-56241 in progress
2014-05-08 19:57:28 +04:00

24 lines
501 B
Kotlin

// EA-56241
package foo
class A(val v: Int)
val times = { A.(a: Int) -> this.v * a }
fun test(div: A.(Int) -> Int) = A(20) / 4
fun assertEquals<T>(expected: T, actual: T) {
if (expected != actual) throw Exception("expected: $expected, actual: $actual")
}
fun box(): String {
val compareTo = { A.(a: A) -> this.v - a.v }
assertEquals(28, A(4) * 7)
assertEquals(5, test { this.v / it })
assertEquals(false, A(49) <= A(7))
assertEquals(true, A(5) > A(1))
return "OK"
}