diff options
Diffstat (limited to 'test/ruby/test_method.rb')
-rw-r--r-- | test/ruby/test_method.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb index f4055e7950..df0ec792f3 100644 --- a/test/ruby/test_method.rb +++ b/test/ruby/test_method.rb @@ -1,4 +1,5 @@ require 'test/unit' +require_relative 'envutil' class TestMethod < Test::Unit::TestCase def setup @@ -10,6 +11,10 @@ class TestMethod < Test::Unit::TestCase $VERBOSE = @verbose end + def ruby(*r, &b) + EnvUtil.rubyexec(*r, &b) + end + def m0() end def m1(a) end def m2(a, b) end @@ -202,4 +207,17 @@ class TestMethod < Test::Unit::TestCase m2 = c2.new.method(:foo) assert_equal("#<Method: #{ c2.inspect }(#{ c.inspect })#foo>", m2.inspect) end + + def test_callee_top_level + ruby do |w, r, e| + w.puts "p __callee__" + w.close + assert_equal("nil", r.read.chomp) + assert_match("", e.read.chomp) + end + end + + def test_caller_negative_level + assert_raise(ArgumentError) { caller(-1) } + end end |