summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/test/ruby/beginmainend.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/test/ruby/beginmainend.rb')
-rw-r--r--ruby_1_8_6/test/ruby/beginmainend.rb80
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"
+ }
+}