1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/ruby/test_beginendblock.rb
nobu cda830ff33 * test/ruby/test_beginendblock.rb (test_endinmethod): END{} is now
allowed in eval.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-07 00:13:29 +00:00

27 lines
721 B
Ruby

require 'test/unit'
require "#{File.dirname(File.expand_path(__FILE__))}/envutil"
class TestBeginEndBlock < Test::Unit::TestCase
DIR = File.dirname(File.expand_path(__FILE__))
def test_beginendblock
ruby = EnvUtil.rubybin
io = IO.popen("\"#{ruby}\" \"#{DIR}/beginmainend.rb\"")
assert_equal(%w(begin1 begin2 main innerbegin1 innerbegin2 end1 innerend1 innerend2 end2).join("\n") << "\n", io.read)
end
def test_begininmethod
assert_raises(SyntaxError) do
eval("def foo; BEGIN {}; end")
end
end
def test_endinmethod
verbose, $VERBOSE = $VERBOSE, nil
assert_nothing_raised(SyntaxError) do
eval("def foo; END {}; end")
end
ensure
$VERBOSE = verbose
end
end