mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
cd8d08b532
* test/ruby/beginmainend.rb: add tests for nested BEGIN/END. * test/ruby/endblockwarn.rb: new file added to test of END-in-method warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
85 lines
881 B
Ruby
85 lines
881 B
Ruby
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
|
|
}
|
|
|
|
END {
|
|
raise
|
|
puts "should not be dumped"
|
|
}
|
|
|
|
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"
|
|
}
|
|
}
|