summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-29 13:51:52 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-29 13:51:52 +0000
commit595ad416f3187661c3f17b7738a66756827c7ebb (patch)
treeab333c42831254defc0d7ce5505dcf2d6d761dd4 /test/ruby
parent1e90c8ceb37dac03692562fd24b72a1de8f40d8b (diff)
* test/ruby/test_require.rb: add a test for load with wrap flag, to
achieve 100% test coverage of eval_jump.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_require.rb20
1 files changed, 20 insertions, 0 deletions
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