Test module-frame lookup in bridge resolver
This commit is contained in:
parent
cc681c76a0
commit
6295cea6ad
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user