Files
RubyMotion/test/TestSuite/app/test_autoload.rb
2012-09-22 21:57:31 +09:00

83 lines
2.1 KiB
Ruby

test_begin "test_autoload"
# assert_equal 'ok', proc{
# open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}
# autoload :ZZZ, "./zzz.rb"
# ZZZ.ok
# }
# assert_equal 'ok', proc{
# open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}
# autoload :ZZZ, "./zzz.rb"
# require "./zzz.rb"
# ZZZ.ok
# }
# assert_equal 'ok', proc{
# open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}
# autoload :ZZZ, "./zzz.rb"
# proc{$SAFE=4; ZZZ.ok}.call
# }
# assert_equal 'ok', proc{
# open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}
# autoload :ZZZ, "./zzz.rb"
# require "./zzz.rb"
# proc{$SAFE=4; ZZZ.ok}.call
# }
# assert_equal 'ok', proc{
# 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', proc{
# 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', proc{
# 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', proc{
# 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
# }
# assert_equal 'okok', proc{
# open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}
# autoload :ZZZ, "./zzz.rb"
# t1 = Thread.new {ZZZ.ok}
# t2 = Thread.new {ZZZ.ok}
# [t1.value, t2.value].join
# }
# assert_finish 5, proc{
# autoload :ZZZ, File.expand_path(__FILE__)
# begin
# ZZZ
# rescue NameError
# end
# }, '[ruby-core:21696]'
# assert_equal 'A::C', proc{
# open("zzz.rb", "w") {}
# class A
# autoload :C, "./zzz"
# class C
# end
# C
# end
# }
test_end