diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-04-07 23:33:01 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-04-07 23:33:01 +0000 |
commit | 2d9e9c3fd743e07833e2954474e9da1b4e5c33d2 (patch) | |
tree | 37afff8724fdd0ab3a883b09da7e2383151ef362 /bootstraptest/test_autoload.rb | |
parent | 37504dc560792ccd3e32d637d2fcaf5f0ac0a1ca (diff) |
* bootstraptest/test_autoload.rb: tests for [ruby-dev:34268].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bootstraptest/test_autoload.rb')
-rw-r--r-- | bootstraptest/test_autoload.rb | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/bootstraptest/test_autoload.rb b/bootstraptest/test_autoload.rb index 395f1bd7e3..05376df220 100644 --- a/bootstraptest/test_autoload.rb +++ b/bootstraptest/test_autoload.rb @@ -1,25 +1,52 @@ assert_equal 'ok', %q{ open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"} autoload :ZZZ, "./zzz.rb" - print ZZZ.ok + ZZZ.ok } assert_equal 'ok', %q{ open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"} autoload :ZZZ, "./zzz.rb" require "./zzz.rb" - print ZZZ.ok + ZZZ.ok } assert_equal 'ok', %q{ open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"} autoload :ZZZ, "./zzz.rb" - print proc{$SAFE=4; ZZZ.ok}.call + proc{$SAFE=4; ZZZ.ok}.call } assert_equal 'ok', %q{ open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"} autoload :ZZZ, "./zzz.rb" require "./zzz.rb" - print proc{$SAFE=4; ZZZ.ok}.call + proc{$SAFE=4; ZZZ.ok}.call +} + +assert_equal 'ok', %q{ + open("zzz.rb", "w") {|f| f.puts "class ZZZ; def hoge;:ok;end;end"} + autoload :ZZZ, File.join(Dir.pwd, 'zzz.rb') + module M; end + Thread.new{M.instance_eval('$SAFE=4; ZZZ.new.hoge')}.value +} + +assert_equal 'ok', %q{ + open("zzz.rb", "w") {|f| f.puts "class ZZZ; def hoge;:ok;end;end"} + autoload :ZZZ, File.join(Dir.pwd, 'zzz.rb') + module M; end + Thread.new{$SAFE=4; M.instance_eval('ZZZ.new.hoge')}.value +} + +assert_equal 'ok', %q{ + open("zzz.rb", "w") {|f| f.puts "class ZZZ; def hoge;:ok;end;end"} + autoload :ZZZ, File.join(Dir.pwd, 'zzz.rb') + Thread.new{$SAFE=4; eval('ZZZ.new.hoge')}.value +} + +assert_equal 'ok', %q{ + open("zzz.rb", "w") {|f| f.puts "class ZZZ; def hoge;:ok;end;end"} + autoload :ZZZ, File.join(Dir.pwd, 'zzz.rb') + module M; end + Thread.new{eval('$SAFE=4; ZZZ.new.hoge')}.value } |