fixed many bugs with variable visibility in mixed scopes
This commit is contained in:
1 parent
eca746b189
commit
464a6dcb99
14 files changed
+285
-162
No files matched your search
@@ -1359,9 +1359,6 @@ class ScriptTest {
|
||||
}
|
||||
|
||||
val prefix = ":"
|
||||
val lambda = {
|
||||
prefix + getText() + "!"
|
||||
}
|
||||
|
||||
val text = "invalid"
|
||||
val t1 = T("foo")
|
||||
@@ -1371,18 +1368,22 @@ class ScriptTest {
|
||||
// it must take "text" from class t1:
|
||||
assertEquals("foo", text)
|
||||
assertEquals( "foo!", getText() )
|
||||
assertEquals( ":foo!!", lambda() )
|
||||
assertEquals( ":foo!!", {
|
||||
prefix + getText() + "!"
|
||||
}())
|
||||
}
|
||||
t2.apply {
|
||||
assertEquals("bar", text)
|
||||
assertEquals( "bar!", getText() )
|
||||
assertEquals( ":bar!!", lambda() )
|
||||
assertEquals( ":bar!!", {
|
||||
prefix + getText() + "!"
|
||||
}())
|
||||
}
|
||||
// worst case: names clash
|
||||
fun badOne() {
|
||||
val prefix = "&"
|
||||
t1.apply {
|
||||
assertEquals( ":foo!!", lambda() )
|
||||
assertEquals( ":foo!!", prefix + getText() + "!" )
|
||||
}
|
||||
}
|
||||
badOne()
|
||||
@@ -2941,5 +2942,4 @@ class ScriptTest {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -23,8 +23,9 @@ class StdlibTest {
|
||||
@Test
|
||||
fun testIterableFilter() = runTest {
|
||||
eval("""
|
||||
assertEquals([1,3,5,7], (1..8).filter{ it % 2 == 1 }.toList() )
|
||||
assertEquals([2,4,6,8], (1..8).filter{ it % 2 == 0 }.toList() )
|
||||
assertEquals([2,4,6,8], (1..8).filter{ println("call2"); it % 2 == 0 }.toList() )
|
||||
println("-------------------")
|
||||
assertEquals([1,3,5,7], (1..8).filter{ println("call1"); it % 2 == 1 }.toList() )
|
||||
""".trimIndent())
|
||||
|
||||
}
|
||||
@@ -46,6 +47,16 @@ class StdlibTest {
|
||||
""".trimIndent())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testAnyAndAll() = runTest {
|
||||
eval("""
|
||||
assert( [1,2,3].any { it > 2 } )
|
||||
assert( ![1,2,3].any { it > 4 } )
|
||||
assert( [1,2,3].all { it <= 3 } )
|
||||
|
||||
""".trimIndent())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testRingBuffer() = runTest {
|
||||
eval("""
|
||||
|
||||
Reference in new issue
Block a user