dynamic tests moved to a right suite

This commit is contained in:
Sergey Chernov 2026-02-20 11:16:57 +03:00
parent c46f74bd7e
commit 51b0d1fdfc
2 changed files with 53 additions and 53 deletions

View File

@ -182,59 +182,6 @@ class BindingTest {
assertEquals(getB(getA()), "get1-2")
""".trimIndent())
}
@Test
fun testDynamicToDynamic() = runTest {
val ms = Script.newScope()
ms.eval("""
class A(prefix) {
val da = dynamic {
get { name -> "a:"+prefix+":"+name }
}
}
val B: A = dynamic {
get { p -> A(p) }
}
assertEquals(A("bar").da.foo, "a:bar:foo")
assertEquals( B.buzz.da.foo, "a:buzz:foo" )
val C = dynamic {
get { p -> A(p).da }
}
assertEquals(C.buzz.foo, "a:buzz:foo")
""".trimIndent())
ms.eval("""
""")
}
@Test
fun testDynamicToDynamicFun() = runTest {
val ms = Script.newScope()
ms.eval("""
class A(prefix) {
val da = dynamic {
get { name -> { x -> "a:"+prefix+":"+name+"/"+x } }
}
}
val B: A = dynamic {
get { p -> A(p) }
}
assertEquals(A("bar").da.foo("buzz"), "a:bar:foo/buzz")
assertEquals( B.buzz.da.foo("42"), "a:buzz:foo/42" )
val C = dynamic {
get { p -> A(p).da }
}
assertEquals(C.buzz.foo("one"), "a:buzz:foo/one")
""".trimIndent())
ms.eval("""
""")
}
}

View File

@ -911,4 +911,57 @@ class OOTest {
assertEquals(5, t.x)
""".trimIndent())
}
@Test
fun testDynamicToDynamic() = runTest {
val ms = Script.newScope()
ms.eval("""
class A(prefix) {
val da = dynamic {
get { name -> "a:"+prefix+":"+name }
}
}
val B: A = dynamic {
get { p -> A(p) }
}
assertEquals(A("bar").da.foo, "a:bar:foo")
assertEquals( B.buzz.da.foo, "a:buzz:foo" )
val C = dynamic {
get { p -> A(p).da }
}
assertEquals(C.buzz.foo, "a:buzz:foo")
""".trimIndent())
ms.eval("""
""")
}
@Test
fun testDynamicToDynamicFun() = runTest {
val ms = Script.newScope()
ms.eval("""
class A(prefix) {
val da = dynamic {
get { name -> { x -> "a:"+prefix+":"+name+"/"+x } }
}
}
val B: A = dynamic {
get { p -> A(p) }
}
assertEquals(A("bar").da.foo("buzz"), "a:bar:foo/buzz")
assertEquals( B.buzz.da.foo("42"), "a:buzz:foo/42" )
val C = dynamic {
get { p -> A(p).da }
}
assertEquals(C.buzz.foo("one"), "a:buzz:foo/one")
""".trimIndent())
ms.eval("""
""")
}
}