From 0aa5aa1de29d61e40a0c1e9be40ee9e14fe284bd Mon Sep 17 00:00:00 2001 From: dearblue Date: Wed, 29 Jan 2020 21:53:56 +0900 Subject: Add test for top level local variables are in file scope; ref #4931 --- mrbgems/mruby-bin-mirb/bintest/mirb.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'mrbgems/mruby-bin-mirb') 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 -- cgit v1.2.3