indexer fix

This commit is contained in:
sergeych committed 2026-03-14 20:04:44 +03:00
1 parent 8a32ffe655
commit c54d947f1c
2 files changed
+42 -1

No files matched your search

+18 -1
View File
@@ -20,7 +20,6 @@ import net.sergeych.lyng.Script
import net.sergeych.lyng.ScriptError
import net.sergeych.lyng.eval
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertTrue
@@ -536,6 +535,24 @@ class TypesTest {
""".trimIndent())
}
@Test fun testIndexer() = runTest {
eval("""
class Greeter {
override fun getAt(name) = "Hello, %s!"(name)
}
assertEquals("Hello, Bob!",Greeter()["Bob"])
val g = Greeter()
assertEquals("Hello, Bob!",g["Bob"])
// it should work with objects too:
object Polite {
override fun getAt(name) = "How do you do, %s?"(name)
}
assertEquals("How do you do, Bob?",Polite["Bob"])
""".trimIndent())
}
// @Test fun nonTrivialOperatorsTest() = runTest {
// val s = Script.newScope()
// s.eval("""