Add tests for KFunction involving value classes

See KT-31141.
This commit is contained in:
wrongwrong
2022-02-18 21:11:56 +09:00
committed by Alexander Udalov
parent c8453ec8b4
commit c4735f9f29
54 changed files with 3535 additions and 888 deletions
@@ -10,8 +10,11 @@ inline class Z2(val x: Z)
inline class L(val x: Long)
inline class L2(val x: L)
inline class A(val x: Any?)
inline class A2(val x: A)
inline class A1(val x: Any?)
inline class A1_2(val x: A1)
inline class A2(val x: Any)
inline class A2_2(val x: A2)
fun box(): String {
assertEquals(42, Z::x.call(Z(42)))
@@ -20,10 +23,10 @@ fun box(): String {
assertEquals(1234L, L::x.call(L(1234L)))
assertEquals(1234L, L(1234L)::x.call())
assertEquals("abc", A::x.call(A("abc")))
assertEquals("abc", A("abc")::x.call())
assertEquals(null, A::x.call(A(null)))
assertEquals(null, A(null)::x.call())
assertEquals("abc", A1::x.call(A1("abc")))
assertEquals("abc", A1("abc")::x.call())
assertEquals(null, A1::x.call(A1(null)))
assertEquals(null, A1(null)::x.call())
assertEquals(Z(42), Z2::x.call(Z2(Z(42))))
assertEquals(Z(42), Z2(Z(42))::x.call())
@@ -31,10 +34,12 @@ fun box(): String {
assertEquals(L(1234L), L2::x.call(L2(L(1234L))))
assertEquals(L(1234L), L2(L(1234L))::x.call())
assertEquals(A("abc"), A2::x.call(A2(A("abc"))))
assertEquals(A("abc"), A2(A("abc"))::x.call())
assertEquals(A(null), A2::x.call(A2(A(null))))
assertEquals(A(null), A2(A(null))::x.call())
assertEquals(A1("abc"), A1_2::x.call(A1_2(A1("abc"))))
assertEquals(A1("abc"), A1_2(A1("abc"))::x.call())
assertEquals(A1(null), A1_2::x.call(A1_2(A1(null))))
assertEquals(A1(null), A1_2(A1(null))::x.call())
assertEquals(A2("abc"), A2_2::x.call(A2_2(A2("abc"))))
assertEquals(A2("abc"), A2_2(A2("abc"))::x.call())
return "OK"
}
}