summaryrefslogtreecommitdiff
path: root/test/ruby/test_method.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_method.rb')
-rw-r--r--test/ruby/test_method.rb18
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