[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]