From a415b799f52f07d318abc0489fad28e304620a90 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: http://svn.ruby-lang.org/repos/ruby/trunk@4692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ test/ruby/beginmainend.rb | 32 ++++++++++++++++++++++++++++++-- test/ruby/test_beginendblock.rb | 14 +++++++++++++- 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ea90050fc..49f5fc95c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Oct 5 13:47:22 2003 NAKAMURA, Hiroshi + + * test/ruby/test_beginendblock.rb, test/ruby/beginmainend.rb: add tests + about scope, order and allowd syntax. + Sun Oct 5 11:54:29 2003 NAKAMURA, Hiroshi * test/ruby/envutil.rb: added. split "rubybin" from test_system.rb. diff --git a/test/ruby/beginmainend.rb b/test/ruby/beginmainend.rb index 4ee1d7899..f89c09207 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 301d2c62f..06b151918 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