49 lines
1.0 KiB
Kotlin
Vendored
49 lines
1.0 KiB
Kotlin
Vendored
// EXPECTED_REACHABLE_NODES: 1324
|
|
package foo
|
|
|
|
object f {
|
|
var equalsCalled = 0
|
|
|
|
override fun equals(other: Any?): Boolean {
|
|
equalsCalled++
|
|
if (equalsCalled > 1) return false
|
|
return this === other
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
val a: dynamic = 12
|
|
var b: dynamic = 33.4
|
|
var c: dynamic = "text"
|
|
val d: dynamic = true
|
|
|
|
val v: dynamic = 42
|
|
val tt: dynamic = "object t {}"
|
|
|
|
testFalse { a == 34 }
|
|
testFalse { a == "34" }
|
|
testTrue { a == 12 }
|
|
testTrue { a == "12" }
|
|
testFalse { a != 12 }
|
|
testFalse { a != "12" }
|
|
testTrue { c == "text" }
|
|
testTrue { d == 1 }
|
|
testFalse { d == 0 }
|
|
testFalse { c != "text" }
|
|
testTrue { v == n }
|
|
testTrue { tt == t }
|
|
testFalse { v == bar }
|
|
testTrue { n != bar }
|
|
|
|
testFalse { a.equals(34) }
|
|
testFalse { a.equals("34") }
|
|
testTrue { a.equals(12) }
|
|
testFalse { a.equals("12") }
|
|
|
|
val ff: dynamic = f
|
|
testFalse { ff.equals(v) }
|
|
assertEquals(1, f.equalsCalled)
|
|
|
|
return "OK"
|
|
}
|