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/