diff options
Diffstat (limited to 'ruby_1_8_6/test/ruby/beginmainend.rb')
-rw-r--r-- | ruby_1_8_6/test/ruby/beginmainend.rb | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/ruby_1_8_6/test/ruby/beginmainend.rb b/ruby_1_8_6/test/ruby/beginmainend.rb new file mode 100644 index 0000000000..646140dd22 --- /dev/null +++ b/ruby_1_8_6/test/ruby/beginmainend.rb @@ -0,0 +1,80 @@ +errout = ARGV.shift + +BEGIN { + puts "b1" + local_begin1 = "local_begin1" + $global_begin1 = "global_begin1" + ConstBegin1 = "ConstBegin1" +} + +BEGIN { + puts "b2" + + BEGIN { + puts "b2-1" + } +} + +# for scope check +raise if defined?(local_begin1) +raise unless defined?($global_begin1) +raise unless defined?(::ConstBegin1) +local_for_end2 = "e2" +$global_for_end1 = "e1" + +puts "main" + +END { + puts local_for_end2 # e2 +} + +eval <<EOE + BEGIN { + puts "b3" + + BEGIN { + puts "b3-1" + } + } + + BEGIN { + puts "b4" + } + + END { + puts "e3" + } + + END { + puts "e4" + + END { + puts "e4-1" + + END { + puts "e4-1-1" + } + } + + END { + puts "e4-2" + } + } +EOE + +END { + exit + puts "should not be dumped" + + END { + puts "not reached" + } +} + +END { + puts $global_for_end1 # e1 + + END { + puts "e1-1" + } +} |