diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/test/ruby/test_require.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/test/ruby/test_require.rb')
-rw-r--r-- | trunk/test/ruby/test_require.rb | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/trunk/test/ruby/test_require.rb b/trunk/test/ruby/test_require.rb deleted file mode 100644 index a5f453a055..0000000000 --- a/trunk/test/ruby/test_require.rb +++ /dev/null @@ -1,194 +0,0 @@ -require 'test/unit' - -require 'tempfile' -require_relative 'envutil' - -class TestRequire < Test::Unit::TestCase - def test_require_invalid_shared_object - t = Tempfile.new(["test_ruby_test_require", ".so"]) - t.puts "dummy" - t.close - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - begin - require \"#{ t.path }\" - rescue LoadError - p :ok - end - INPUT - end - - def test_require_too_long_filename - assert_in_out_err([], <<-INPUT, %w(:ok), []) - begin - require '#{ "foo/" * 10000 }foo' - rescue LoadError - p :ok - end - INPUT - - assert_in_out_err(["-S", "foo/" * 10000 + "foo"], "") do |r, e| - assert_equal([], r) - assert_operator(2, :<=, e.size) - assert_equal("openpath: pathname too long (ignored)", e.first) - assert_match(/\(LoadError\)/, e.last) - end - end - - def test_require_path_home - env_rubypath, env_home = ENV["RUBYPATH"], ENV["HOME"] - - ENV["RUBYPATH"] = "~" - ENV["HOME"] = "/foo" * 10000 - assert_in_out_err(%w(-S test_ruby_test_require), "", [], /^.+$/) - - ENV["RUBYPATH"] = "~" + "/foo" * 10000 - ENV["HOME"] = "/foo" - assert_in_out_err(%w(-S test_ruby_test_require), "", [], /^.+$/) - - t = Tempfile.new(["test_ruby_test_require", ".rb"]) - t.puts "p :ok" - t.close - ENV["RUBYPATH"] = "~" - ENV["HOME"], name = File.split(t.path) - assert_in_out_err(["-S", name], "", %w(:ok), []) - - ensure - env_rubypath ? ENV["RUBYPATH"] = env_rubypath : ENV.delete("RUBYPATH") - env_home ? ENV["HOME"] = env_home : ENV.delete("HOME") - end - - def test_define_class - begin - require "socket" - rescue LoadError - return - end - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - BasicSocket = 1 - begin - require 'socket' - p :ng - rescue TypeError - p :ok - end - INPUT - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - class BasicSocket; end - begin - require 'socket' - p :ng - rescue NameError - p :ok - end - INPUT - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - class BasicSocket < IO; end - begin - require 'socket' - p :ok - rescue Exception - p :ng - end - INPUT - end - - def test_define_class_under - begin - require "zlib" - rescue LoadError - return - end - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - module Zlib; end - Zlib::Error = 1 - begin - require 'zlib' - p :ng - rescue TypeError - p :ok - end - INPUT - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - module Zlib; end - class Zlib::Error; end - begin - require 'zlib' - p :ng - rescue NameError - p :ok - end - INPUT - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - module Zlib; end - class Zlib::Error < StandardError; end - begin - require 'zlib' - p :ok - rescue Exception - p :ng - end - INPUT - end - - def test_define_module - begin - require "zlib" - rescue LoadError - return - end - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - Zlib = 1 - begin - require 'zlib' - p :ng - rescue TypeError - p :ok - end - INPUT - end - - def test_define_module_under - begin - require "socket" - rescue LoadError - return - end - - assert_in_out_err([], <<-INPUT, %w(:ok), []) - class BasicSocket < IO; end - class Socket < BasicSocket; end - Socket::Constants = 1 - begin - require 'socket' - p :ng - rescue TypeError - p :ok - end - INPUT - end - - def test_load - t = Tempfile.new(["test_ruby_test_require", ".rb"]) - t.puts "module Foo; end" - t.puts "at_exit { p :wrap_end }" - t.puts "at_exit { raise 'error in at_exit test' }" - t.puts "p :ok" - t.close - - assert_in_out_err([], <<-INPUT, %w(:ok :end :wrap_end), /error in at_exit test/) - load(#{ t.path.dump }, true) - GC.start - p :end - INPUT - - assert_raise(ArgumentError) { at_exit } - end -end |