diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/ruby/test_require.rb | 20 |
2 files changed, 25 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Thu May 29 22:51:05 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * test/ruby/test_require.rb: add a test for load with wrap flag, to + achieve 100% test coverage of eval_jump.c. + Thu May 29 22:47:53 2008 Yusuke Endoh <mame@tsg.ne.jp> * test/ruby/test_argf.rb: new tests for ARGF, to achieve over 85% test diff --git a/test/ruby/test_require.rb b/test/ruby/test_require.rb index 299baeac62..b7fb90d923 100644 --- a/test/ruby/test_require.rb +++ b/test/ruby/test_require.rb @@ -212,4 +212,24 @@ class TestRequire < Test::Unit::TestCase assert_equal(":ok", r.read.chomp) end 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 + + ruby do |w, r, e| + w.puts "load(#{ t.path.dump }, true)" + w.puts "GC.start" + w.puts "p :end" + w.close + assert_match(/error in at_exit test/, e.read) + assert_equal(":ok\n:end\n:wrap_end", r.read.chomp) + end + + assert_raise(ArgumentError) { at_exit } + end end |