From d50d6d396ae47d78a9d8d07a754868f35492d7fc Mon Sep 17 00:00:00 2001 From: nahi Date: Sun, 5 Oct 2003 04:51:05 +0000 Subject: * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests about scope, order and allowd syntax. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/beginmainend.rb | 32 ++++++++++++++++++++++++++++++-- test/ruby/test_beginendblock.rb | 14 +++++++++++++- 2 files changed, 43 insertions(+), 3 deletions(-) (limited to 'test/ruby') diff --git a/test/ruby/beginmainend.rb b/test/ruby/beginmainend.rb index 4ee1d7899a..f89c09207e 100644 --- a/test/ruby/beginmainend.rb +++ b/test/ruby/beginmainend.rb @@ -1,9 +1,37 @@ BEGIN { - puts "begin" + puts "begin1" + local_begin1 = "local_begin1" + $global_begin1 = "global_begin1" + ConstBegin1 = "ConstBegin1" } +BEGIN { + puts "begin2" +} + +# for scope check +raise if defined?(local_begin1) +raise unless defined?($global_begin1) +raise unless defined?(::ConstBegin1) +local_for_end2 = "end2" +$global_for_end1 = "end1" + puts "main" END { - puts "end" + puts local_for_end2 +} + +END { + raise + puts "should not be dumped" +} + +END { + exit + puts "should not be dumped" +} + +END { + puts $global_for_end1 } diff --git a/test/ruby/test_beginendblock.rb b/test/ruby/test_beginendblock.rb index 301d2c62f5..06b1519189 100644 --- a/test/ruby/test_beginendblock.rb +++ b/test/ruby/test_beginendblock.rb @@ -7,6 +7,18 @@ class TestBeginEndBlock < Test::Unit::TestCase def test_beginendblock ruby = EnvUtil.rubybin io = IO.popen("\"#{ruby}\" \"#{DIR}/beginmainend.rb\"") - assert_equal("begin\nmain\nend\n", io.read) + assert_equal(%w(begin1 begin2 main end1 end2).join("\n") << "\n", io.read) + end + + def test_begininmethod + assert_raises(SyntaxError) do + eval("def foo; BEGIN {}; end") + end + end + + def test_endinmethod + assert_raises(SyntaxError) do + eval("def foo; END {}; end") + end end end -- cgit v1.2.3