diff options
Diffstat (limited to 'test/ruby/beginmainend.rb')
| -rw-r--r-- | test/ruby/beginmainend.rb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/test/ruby/beginmainend.rb b/test/ruby/beginmainend.rb new file mode 100644 index 0000000000..b6de5d65fd --- /dev/null +++ b/test/ruby/beginmainend.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: false +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" + } +} |
