Modified: MacRuby/branches/experimental/test_vm/block.rb (1501 => 1502)
--- MacRuby/branches/experimental/test_vm/block.rb 2009-04-28 22:53:43 UTC (rev 1501)
+++ MacRuby/branches/experimental/test_vm/block.rb 2009-04-29 01:11:29 UTC (rev 1502)
@@ -180,5 +180,53 @@
f(1, true)
}
+assert "42", %{
+ def f()
+ a = nil
+ 1.times do
+ x = 42
+ a = proc { x }
+ end
+ a
+ end
+ p f.call
+}
+
+assert "42", %{
+ def f()
+ x = 42
+ a = nil
+ 1.times do
+ a = proc { x }
+ end
+ a
+ end
+ p f.call
+}
+
+assert "42", %{
+ def f()
+ a = nil
+ b = proc do
+ x = 42
+ a = proc { x }
+ end
+ b.call
+ end
+ p f.call
+}
+
+assert "42", %{
+ def f()
+ x = 42
+ a = nil
+ b = proc do
+ a = proc { x }
+ end
+ b.call
+ end
+ p f.call
+}
+
# Enumerator
assert "[\"f\", \"o\", \"o\"]", "p 'foo'.chars.to_a"