ruby-changes:4430
From: ko1@a...
Date: Tue, 8 Apr 2008 08:33:07 +0900 (JST)
Subject: [ruby-changes:4430] nobu - Ruby:r15921 (trunk): * bootstraptest/test_autoload.rb: tests for .
nobu 2008-04-08 08:33:01 +0900 (Tue, 08 Apr 2008) New Revision: 15921 Modified files: trunk/bootstraptest/test_autoload.rb Log: * bootstraptest/test_autoload.rb: tests for [ruby-dev:34268]. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_autoload.rb?r1=15921&r2=15920&diff_format=u Index: bootstraptest/test_autoload.rb =================================================================== --- bootstraptest/test_autoload.rb (revision 15920) +++ bootstraptest/test_autoload.rb (revision 15921) @@ -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 +} -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/