summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mirb
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-01-29 21:53:56 +0900
committerdearblue <[email protected]>2020-01-29 23:29:48 +0900
commit0aa5aa1de29d61e40a0c1e9be40ee9e14fe284bd (patch)
treedaa3ac61e946a8b036742fdf38c30a1aa636519a /mrbgems/mruby-bin-mirb
parent25d9370f97d204524a200594faa2bb0adee0e23a (diff)
downloadmruby-0aa5aa1de29d61e40a0c1e9be40ee9e14fe284bd.tar.gz
mruby-0aa5aa1de29d61e40a0c1e9be40ee9e14fe284bd.zip
Add test for top level local variables are in file scope; ref #4931
Diffstat (limited to 'mrbgems/mruby-bin-mirb')
-rw-r--r--mrbgems/mruby-bin-mirb/bintest/mirb.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/mrbgems/mruby-bin-mirb/bintest/mirb.rb b/mrbgems/mruby-bin-mirb/bintest/mirb.rb
index 0058896f1..3a03726bb 100644
--- a/mrbgems/mruby-bin-mirb/bintest/mirb.rb
+++ b/mrbgems/mruby-bin-mirb/bintest/mirb.rb
@@ -32,3 +32,20 @@ EOS
o, _ = Open3.capture2("bin/mirb -r #{lib.path}", :stdin_data => "Hoge.new.hoge\n")
assert_true o.include?('=> :hoge')
end
+
+assert('top level local variables are in file scope') do
+ lib = Tempfile.new('lib.rb')
+ lib.write <<-TESTLIB
+a = 1
+A = -> { a }
+ TESTLIB
+ lib.flush
+
+ o, _ = Open3.capture2("bin/mirb -r #{lib.path}", :stdin_data => <<-TESTCODE)
+a
+a = 5
+A.call
+ TESTCODE
+
+ assert_kind_of Integer, o =~ /\bundefined method 'a' \(NoMethodError\).*=> 5\b.*=> 1\b/m
+end