Test module-frame lookup in bridge resolver

This commit is contained in:
Sergey Chernov 2026-02-15 01:29:13 +03:00
parent cc681c76a0
commit 6295cea6ad

View File

@ -4,6 +4,8 @@ import kotlin.test.Test
import kotlin.test.assertEquals
import kotlinx.coroutines.test.runTest
import net.sergeych.lyng.bridge.BridgeCallByName
import net.sergeych.lyng.bridge.LookupSpec
import net.sergeych.lyng.bridge.LookupTarget
import net.sergeych.lyng.bridge.resolver
import net.sergeych.lyng.obj.ObjInstance
import net.sergeych.lyng.obj.ObjInt
@ -80,4 +82,27 @@ class BridgeResolverTest {
val result = extHandle.call(facade, newThisObj = fObj) as ObjInt
assertEquals(3, result.value)
}
@Test
fun testModuleFrameLookup() = runTest {
val im = Script.defaultImportManager.copy()
val module = im.newModuleAt(Pos.builtIn)
module.eval(
"""
var x = 7
""".trimIndent()
)
val child = module.createChildScope()
child.eval(
"""
var x = 1
""".trimIndent()
)
val facade = child.asFacade()
val resolver = facade.resolver()
val handle = resolver.resolveVal("x", LookupSpec(targets = setOf(LookupTarget.ModuleFrame)))
val result = handle.get(facade) as ObjInt
assertEquals(7, result.value)
}
}